Mac OS X Commands and Wildcard Characters

EDIT: This post have been getting very many views lately so ‘fess up in the comments if you want a part 2 with more advanced and new ways to use Mac OS X commands and wildcard characters.

          This tip/post is going to be about several common Mac OS X commands and wildcard characters I have discovered, at work, that is useful to understand and know how to use. First off, wildcard characters are special characters such as * and ? that help you to find groups of filenames that have something in common.

           For example, say I have a couple of files that I want to find in my home directory. My home directory is cluttered with junk files that I never take the time to organize. But somewhere within that junk pile of files there lay 8 files I would like. Their filenames are ssw_idl.a285, ssw_idl.r391, ssw_idl.z988, ssw_idl.c293, and the other 4 files are named similarly (“ssw_idl.” followed by a letter, then 3 numbers).

           Open up terminal (or something similar like X11's xterm) and type in ls then enter. This lists all your files and folders in the current directory.
Cramming time:
cd - changes directories (directories = folders). cd .. to go up a directory and cd FOLDERNAME to go to a folder in the current directory.
rm - deletes files/folders.
mkdir - makes directories (folders).
say 'Hello!' - computer says 'Hello!'
more textFileName - opens up a text file for viewing inside the command line/shell.

           Now the actual reason I wrote up this post was to show you how to display only certain files with similar names. So we'll go on to learn about wildcard characters (to be completely honest, I am a noob to this whole wildcard thing; I am stilling learning also), and then about how to use wildcard characters in the Mac OS X command line. Skip ahead if you already know about wildcard characters.

-------- The Good Stuff -------

* - this star means "everything".
ls * will display all folders and all files within those folders.
? - means any character. ?? means any two characters. So basically ls ??* will only display files/folders that have filenames 2 or more characters long.
alphabet and numbers - typing in any letters or numbers means that files/folders must have those exact letters/numbers.
ls *\.jpg - lists all files that are jpeg images (.jpg extension)
The "\." (backslash then dot with no space, in case you couldn't see it well) means a literal dot. No backslash before the dot would mean just any single character except for a new line (\n).
ls a* - lists files/folders starting with an "a".
ls *\.* - lists only files because folders don't have a dot in their name.
ls [a-z] - lists only folders with a one character letter for their name.
ls frame[0-9] - lists any files/folders starting with "frame" and then any 1 number.

A very nicely made reference page for Mac OS X Commands:
http://www.ss64.com/osx/

Any comments welcome! Show me something cool & new!

5 Responses to “Mac OS X Commands and Wildcard Characters”

  1. Python Glob « Python Programming Says:

    [...] In case you need to learn or review about wildcards (in Mac OS X): koldfyre’s tutorial. [...]

  2. Recent Links Tagged With "wildcard" - JabberTags Says:

    [...] public links >> wildcard Mac OS X Commands and Wildcard Characters Saved by reginamicia on Fri 10-10-2008 OppiKoppi WildCard festival – Final line-up Saved by [...]

  3. Philip Skinner Says:

    Directories can have dots in their names.

    Idiot.

    • Humanity Says:

      Good catch, I bet the author is very sorry about his lack of expertise not being quite where he wants it and is sorry he ever blogged about this stuff.

  4. Ben Says:

    EXEPTION: Kext files are seen as FOLDERS in Terminal (kextname.kext).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.