- 締切済み
アンダースコアを消したい
今会社でUNIXを使っているのですが、 ファイル名にアンダースコアの入ったファイルがあるのですが、 それを消したいと思っております。 hoge_1.txtだったらhoge1.txtというようにしたいのですが mvコマンド時の正規表現の仕方がわかりません。 mv hoge*_.txt→hoge*.txt というようにしましたができませんでした。 良い方法を教えてください。 お願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- astronaut
- ベストアンサー率58% (303/516)
回答No.2
renameコマンドが簡単ですよ $ rename _ "" hoge*_.txt
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
まず, ファイル名を指定する「ワイルドカード」と「正規表現」は区別してください. で条件ですが, ・アンダースコアが入っている全てのファイルに対し, ファイル名にある全てのアンダースコアを消す ということでいいですか? これなら for f in *_*; do mv $f `echo $f|tr -d _`; done でいいような気がします. 動作は保証しませんが.