Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

Filename Expansion (Globbing)

The unappealing word globbing comes from the original command /etc/glob, written by Dennis Ritchie, one of the original authors of Unix. It seems that glob was short for “global” because it was intended that it would search the entire $PATH. The original implementation searched only in /bin, which was considered to be a bug. Today, the which command performs this role of glob, but it is from glob that we now have the word globbing, which means “searching for files using wildcard expansion.” It still does not reference the PATH variable.

The two key characters in filename expansion are the question mark (?) and the asterisk (*). The ? matches any single character; the * matches any sequence of characters. So given a set of files containing various patterns, you can use these wildcards to find the matching files.

$ ls 
abc  abcdef  abcdefghijk  abc.php  abc.txt  ABC.txt   def  mydoc.odt  xyz.xml 
ABC  ABCDEF  abcdef.odt   abctxt   abc.TXT  alphabet  DEF  xyz 
$ ls a* 
abc     abcdefghijk  abc.php  abc.txt  alphabet 
abcdef  abcdef.odt   abctxt   abc.TXT 
$ ls A* 
ABC  ABCDEF  ABC.txt 
$ ls A?? 
ABC 
$ ls a?? 
abc 

This feature is often used to find all files with a given extension. Note that *txt is different from *.txt.

note.ai

Although the convention of .txt, .sh, or .conf at the end of a filename is widely used in Unix and Linux, the extension itself ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads