パターンに一致するファイル名部分を抽出してファイル名を変更します。

パターンに一致するファイル名部分を抽出してファイル名を変更します。

そのようなファイルの名前を変更するためにどのコマンドを使用できるかを知りたいです。

たとえば、古いファイル名は次のようになります。

0_predict-1-500.png
0_predict-2-500.png
0_predict-3-500.png
1_predict-1-500.png
1_predict-2-500.png
1_predict-3-500.png
2_predict-1-500.png
...so on...

私が期待するものは、同様の形式で抽出してから、{filename}_predict-{times}-{rounds}.png他のパターン(例えば{filename}.png-result-{times}.png

したがって、上記のファイル名はパターンと一致するように変更されます。

0.png-result-1.png
0.png-result-2.png
0.png-result-3.png
1.png-result-1.png
1.png-result-2.png
1.png-result-3.png
2.png-result-1.png
...so on...

このようなことをすることができるLinuxコマンド/ツールを持っている人はいますか?私はこれを行うためにPythonスクリプトを書くことはしたくありません。

ベストアンサー1

私はGNU / Linuxでファイル名を簡単に操作できるツールがあることを発見しました。ミリメートル波。これは公開された回答よりはるかに簡単です。

mmv "*_predict-*-*.png" "#1.png-result-#2.png"

各部分をワイルドカードパターンに置き換えようとするため、などを使用してその#1部分を再利用できます。#2

おすすめ記事