正規表現を使用してファイル名を再帰的に変更する方法

正規表現を使用してファイル名を再帰的に変更する方法

私のハードドライブには、次から始まる多くのディレクトリとサブディレクトリがある何百ものファイルがあります。

1.1、、、、、、、、、、、、など...1.21.32.13.19.110.110.2

問題は、私がそれらをリストすると、次のように見えることです:、、、、 10.1など。10.21.11.2

1-10はピリオドの前にあり2-1ます9-110-111-1

私は音楽とビデオのファイル名を、、、、と指定しました01-01.ext01-02.ext|01-10.ext02-01.ext

私はこの質問に対する答えを見つけようとしましたが、それは私に必要なものではないか、理解するのがとても混乱していました。

私はLinux Mint 20.3 Unaを使用しています。私はターミナルから私のハードドライブのルートに行き(テスト用のダミーファイルと一緒に!)次のようなさまざまな組み合わせを試しました。
's,^[0-9]\.[0-9]*',[0-9]\-[0-9]*.*しかし、これはすべて試行錯誤に過ぎません(そして確かに間違っているでしょう!)わかりません。

この質問に対する答えがどこかにあると確信していますが、どこにいるのかわかりません!

初めて、ヒントをありがとうございます。

Linux PC以外のデバイスでDVDプログラムを見ると、順番に表示されることがありますが、そうでない可能性があります。したがって、理想的には、ハードドライブの任意の場所でファイル名を変更したいと思います。これはこのタイプの一般的なリストです。

-rwxrwxrwx 1 root root 222647532 Jun  4  2010 5.9 Mr Chairman.mp4
-rwxrwxrwx 1 root root 229849021 Jun  5  2010 6.10 Well Well Well.mp4
-rwxrwxrwx 1 root root 236174416 Jun  5  2010 6.11 The Phantom Pools Winner.mp4
-rwxrwxrwx 1 root root 242440279 Jun  5  2010 6.12 A Matter Of Principle.mp4
-rwxrwxrwx 1 root root 229969047 Jun  5  2010 6.13 Some Enchanted Evening.mp4
-rwxrwxrwx 1 root root 244241841 Jun  4  2010 6.1 The Frozen Limit.mp4
-rwxrwxrwx 1 root root 239823201 Jun  4  2010 6.2 Beautiful Dreamer.mp4
-rwxrwxrwx 1 root root 231566965 Jun  4  2010 6.3 Fish With Everything.mp4  

このようなものが私が探しているものかもしれません。

rename -n 's/\./-/' * 

ただし、ファイル名自体にピリオド(拡張子のみがある場合)が含まれているため、数字の間にピリオドをインポートする必要があります。つまり: 02.01.05 Mr. Baz.mp4

私の元の質問は泥のように明確でした。もう少し明確になりますように。

ベストアンサー1

実際に質問に答える方法ではありませんが、この質問を超えてGNUを持つシステムでは、「自然な」順序でファイルを一覧表示するためにls使用できます。文書()の内容はls -v次のとおりです。man ls

-vテキスト内の(バージョン)番号の自然な順序

ここに例があります。

mkdir /tmp/737361
cd /tmp/737361
touch 1.1 1.2 1.3 2.1 3.1 9.1 10.1 10.2

まず、

ls
1.1  1.2  1.3  10.1  10.2  2.1  3.1  9.1

しかし、

ls -v
1.1  1.2  1.3  2.1  3.1  9.1  10.1  10.2

おすすめ記事