2016-12-08 6 views
-1

私は約3500個のファイル(.doc .xls .pdfなど)を持っています。これらはすべて拡張子の後に "〜"が付いています。つまり、blahblah.doc〜、blahblah.xls〜私は正しい構文を得るために正規表現で十分に精通していません。 bashシェルでこれを行う最も簡単なコマンド/スクリプトは何でしょうか。親切に感謝します。拡張子の後に(〜)を付けてファイル名を変更する

+0

同じフォルダ内のファイルについて話していますか?どんなOS、Linux? – Zafi

+0

'〜'で終わる場合は '(?:。+ \ .. +〜$)';)を使います。 –

+0

最終的な目的は、末尾のチルダ(〜)なしですべてのファイルの名前を変更することです。 –

答えて

1

これは、あなたが本当に変更したい場合、それは

rename -n 's/~$//' *.* 

明らかにあなたが-nを削除する必要があります行う必要があります。それ以外の場合は、変更しないでファイルを表示します。

+0

rename -n 's /(.*)~ $/$ 1 /' *。*は動作するように見えますが、これは私が望むものを表示します。どの部分を削除してそれを書き出しますか? –

+0

@BPatton '-n'を削除する必要があります。正規表現を少し簡略化しました。更新された正規表現 – Anirudha

+0

をチェックアウトしても、 "--iname *。*〜| rename 's /^(.*)~ $/$ 1 /' *。*がディレクトリ構造を通過し、 〜! –

関連する問題