ここでは,ワイルドカードを用いて一度に複数のファイルを処理する方法を説明します. ワイルドカードとは,任意の文字列にマッチする特殊文字です. ls, mv, rm 等々,ファイル名を指定する時などに使えます.
ファイル名としてアスタリスク (*)と指定すると,あらゆる文字列にマッチします. このアスタリスクをワイルドカードと呼びます.
たとえば名前が .tex で終るファイルだけを表示したいなら, *.tex と指定します.
ls *.tex bib.tex main.tex report.tex test.tex tmp.tex
Emacs はバックアップファイルを大量に作ります. ファイル名が ~ で終るファイルです. 見苦しいのでこれらをすべて削除したいなら,次のように使います.
rm -i *~
ここで rm コマンドに -i というオプションをつけているのは,このオプションにより,ひとつひとつ本当に消してよいか尋ねてくれるから,間違いで一気にファイルを消してしまうことを防ぐためです.
上でアスタリスクとチルダの間に空白を絶対にいれないでください. もし空白をいれると,「全てのファイル(*)とホームディレクトリ(~)を消せ」ということになってしまいます.
ファイルを指定するときに使えるワイルドカードをまとめておきます.
たとえば, [a-d]*.tex というパターンは,ファイル名が a か b か c か d ではじまり, .texという拡張子を持つファイルにマッチします.
ls [a-d]*.tex bib.tex
ワイルドカードは便利ですが,少し間違えると大変なことになってしまうので,充分注意が必要です.
Finderにおいて,上記に相当する操作は,13.3.10 複数ファイルの選択に説明があります.
ワイルドカードの正確な意味は,カレントディレクトリにあるファイル名の集合からパターンにマッチするものだけを選んで,その結果の集合を,パターンを書いた位置にパラメータとして展開するということです. このため,複数のファイル名をパラメータとして取るコマンドでしか使えません.
echo コマンドを使うと,どのように展開されるかが確認できます.
echo ls *.tex ls bib.tex main.tex report.tex test.tex tmp.tex
また, Mac OS X 標準のシェルである bash では,ワイルドカードを含むパターンを書いた後で を打つと,マッチするファイル名が一つだけの時はそれに置き換わり,二つ以上ある時は,もう一度 を打つと,マッチするファイル名の一覧が下に表示されます.
ls *.tex bib.tex main.tex report.tex test.tex tmp.tex ls *.tex
13.4.10 ディレクトリの操作 | 13.4.11 複数ファイルの処理 | 13.4.12 実行ファイルのパス | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Tue, 18 Mar 2008 16:57:48 JST (500d) |