ターミナル(shell)の小技(ファイル名置換)
ファイル名を簡単に入力する
一生懸命ファイル名の補完を使って入力しても良いのですが、キータイプ数が
増えると入力ミスも増えるというもの。
そこで使うのが、ファイルグロブと呼ばれるファイル名の置換メカニズムです。
*を使うパターン
よくあるのは、* を使って、
% rm *.orig
で、古いファイルを削除するとかですね。
この * って 否定演算子として ^ も組み合わせて使えるって知ってました?
例えば、
% ls apple banana % echo a* apple #=> aから始まるファイル名にマッチ % echo ^a* banana #=> aから始まらないファイル名にマッチ
などという使い方ができます。
{ と }を使うパターン
もっと便利なのが、{ と } です。
一番多い出番は、手でバックアップするためにファイル名の最後に .orig とかつけたりするパターン。
% cp test.txt{,.orig} #=> これは、cp test.txt test.txt.orig に展開される
{ } には、いくつでもカンマ区切りで並べれるので、
% mv test{1,2,3}.dat /path/to/data #=> これは、mv test1.dat test2.dat test3.dat /path/to/data に展開される
こんな使い方もできます。
工夫次第で、自分の普段の入力をよりサポートしてくれると思います。
Have fun !