2008年5月7日水曜日

フォルダ内のファイルの拡張子を一括削除


OSXのAutomatorを使えば、
フォルダ内のすべてのファイルに一括で拡張子を付けることができる。
しかし、逆に一括で削除することが出来なくて困った。

そこで、シェルスクリプトで拡張子を一括削除する1行を書いてみた。
for i in `ls`; do mv $i ${i:0:${#i}-4};done
${variable:offset:length}で変数variableをスライスできる。

さらに、${#i}の部分でファイル名の文字数を取得し、
そこから"."+拡張子3文字分を引いている。

カレントディレクトリ内のすべてのファイルから、
3文字の拡張子を取り除く。

例:hoge.txt -> hoge

0 件のコメント: