何百ものファイル名を変更する

何百ものファイル名を変更する

私はElementary OS(まだUNIXシステムに慣れていません)を使用しており、既存のハードドライブに配置する必要がある何百ものテキストファイルがあります。たとえば、すべてのテキストファイルに名前があります。

lua-eng1-6TH4eI8gtf3.txt

すべての文字の最後の11文字を削除しますが、拡張子は維持するコマンドが必要です。私は周りを見ながら「名前変更」コマンドを見ましたが、それが私に適しているかどうかわかりません。

コピーして貼り付けてから(ディレクトリなど)変更できるコマンドは、驚くほどすべての機能を説明します。

ベストアンサー1

このコマンドは、あなたと同じパターンを使っていくつかのサンプルファイルでテストしたので、あなたに効果的です。

rename 's/(.*)(-.{11})\.txt$/$1\.txt/' *

説明する:

この簡単なコマンドを見てください:

rename 's/pattern/result/' filename(s)

パターンは正規表現にすることができます。したがって、テキストの他の部分(ファイル名など)を使用できます。わからない場合は、Googleの正規表現を使用してみてください。複雑に見えますが、分かってみると簡単です。

その結果、最初の括弧の内容を削除し、$12番目の括弧をそのままにして最終的に追加しました.txt

重要なお知らせ
まず、オプションを指定してコマンドを実行して、-n -vコマンドが実行するアクションを確認します。必要な結果が出たら、オプションなしで実行してください。まず、次のように実行してください。

$ rename -n -v 's/(.*)(-.{11})\.txt$/$1\.txt/' *
rename(lua - eng1-6TH4eI8gtf3.txt, lua - eng1.txt)
rename(lua - eng2-6TH4eI8gtf4.txt, lua - eng2.txt)
rename(lua - eng4-6TH4eI8gtf5.txt, lua - eng4.txt)

おすすめ記事