2017-08-31 9 views
0

内のファイル名からパターンを削除する方法私は、ディレクトリ内のすべてのファイルから[パターン]を削除したいのUnix/Linuxの

File1[Pattern].txt 
File2[Pattern].txt 
File3[Pattern].txt 

以下のように複数のファイルを持っています。

最後に、ファイル名は次のとおりです。実際のアクションの

for f in *.txt; do echo mv -- "$f" "${f%%\[*\]*}".txt; done 

ドロップechobashパラメータ展開(${f%%\[*\]*})(左から)(最初)から出発部分[を取り除くために、及び名前を変更するmvを用いて

File1.txt 
File2.txt 
File3.txt 
+0

[パターン]の例はありますか? –

答えて

0

renameprename)で


[第一および第二のグループはリテラル.txtに一致する前部分と一致1一致基。置換では、取得したグループを使用しました。

rename -n 's/^([^[]+)\[[^]]+\](\.txt)$/$1$2/' *.txt 

Drop - n

関連する問題