- - PR -
ファイル名変更について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-09 17:48
一括で複数のファイル名(例えば拡張子の変更)の変更を
コマンドラインから実施しているのですが 意図通りの結果が得られません。 どなたかご存知の方いらっしゃいましたらご教授お願い致します。 (例) test1.log test2.log ⇒test1.tmp test2.tmp みたいに一括で変更できる方法ご存知でしょうか。 色々と調べてみますと find ./ -name "*.log" -exec mv {} [].tmp ; で出来そうだったのですがうまくいきません。 私は、mv {} [].tmpの[]の意味が理解できてません。 上記コマンドを実行すると2つのファイル (test1.log、test2.log)が[].tmpとなり ファイル名が[]付きになってしまい1つのファイルが消えて しまいます。 宜しくお願い致します。 |
|
投稿日時: 2006-08-09 20:12
あまり美しい方法ではないかもしれませんが、
ls -1 *.log | while read line; do mv $line `echo $line | sed -e 's,\.log$,.tmp,'` done もしくは、 find ./ -name '*.log' | while read line; do mv $line `echo $line | sed -e 's,\.log$,.tmp,'` done でできるかと思います。 > find ./ -name "*.log" -exec mv {} [].tmp; すみません、このコマンドについては私はよく知りません。;; |
|
投稿日時: 2006-08-09 20:45
rename コマンドがあるなら以下でいけます。
$ rename .log .tmp *.log ただし foo.log.log とかあると foo.tmp.log になるけど。 |
|
投稿日時: 2006-08-10 09:21
あんとれ様
返信有難う御座います。 あんとれ様の提示頂いた方法で無事解決しました。 本当に有難う御座います。 はしもと様 返信有難う御座います。 rename コマンドがあるみたいですので 試してみます。 本当に有難う御座います。 |
1