■
kcat.pl(13行)
ファイルの中身を表示するcatコマンド を拡張して、各行の先頭にファイルネーム と行数を付けるスクリプトです。 複数ファイルの中身を検索する時に便利です。 こういう風に、 % kcat.pl *.cc | grep hoge func2.cc 23 | printf("hoge\n"); func3.cc 40 | printf("hoge\n"); main.cc 50 | printf("hoge\n"); これなら、 func2.ccの23行目にhogeがあって、 func3.ccの40行目にhogeがあって、 main.ccの50行目にhogeがあるってことが分かりますね。 grep コマンドを使うと 同じことができることが判明 (はじかしい) ■ ls-R.pl(20行) lsコマンドに-Rオプションを付けると、 ファイルを再帰的に表示します。 こういう風に、 % ls -R main.cc ./Dir1: image1.jpg image2.jpg ./Dir2: image1.gif image2.gif これで、拡張子jpgファイルを検索すると、 % ls -R | grep jpg image1.jpg image2.jpg とします。 しかし、これでは、どこのディレクトリに目的のファイルが存在 するかが分かりません。 そこで、このスクリプトは、以下のような表示形式に変形します。 % ls-R.pl ./main.cc ./Dir1/image1.jpg ./Dir1/image2.jpg ./Dir2/image1.gif ./Dir2/image2.gif これで、拡張子jpgファイルを検索すると、 % ls-R.pl | grep jpg ./Dir1/image1.jpg ./Dir1/image2.jpg となり、どこのディレクトリに目的のファイルが存在するかが分かります。 find コマンドを使うと 同じことができることが判明 (これまたはじかしい) ■ tikan.pl(36行) 複数ファイルの文字列を置換するスクリプトです。 こういう風に使います。 % tikan.pl -s 検索文字列 -r 置換文字列 -f ファイルネーム(複数可) 実例 % ls a.txt b.txt % cat a.txt hoge hoge % cat b.txt foo hoge hoge % tikan.pl -s hoge -r foo -f *.txt S:hoge hoge R:foo foo S:foo hoge R:foo foo S:hoge R:foo % cat a.txt foo foo % cat b.txt foo foo foo わかった? |