番号をプレフィックスとして使用して、複数のファイルに順番に番号を付けます。

番号をプレフィックスとして使用して、複数のファイルに順番に番号を付けます。

したがって、私のLinuxコンピュータには、次のファイル名を持つ58個のファイルがあります。

Theory of Computation (TOC) | Basics of TOC | Lec 1 | GATE Computer Science⧸IT Engineering Exam [7DOPjYGtnTQ].mp4
Theory of Computation (TOC) | Operations | Lec 2 | GATE Computer Science⧸IT Engineering Exam [XCm43gyfl4M].mp4
Theory of Computation (TOC) | Chomsky Hierarchy | Lec 3 | GATE Computer Science⧸IT Engineering Exam [_YvKlbKmbNg].mp4

各ファイル名には、講義番号の後に「Lec」が付いています。次のように、各ファイルに連続して数字を追加したいと思います。

1 - Theory of Computation (TOC) | Basics of TOC | Lec 1 | GATE Computer Science⧸IT Engineering Exam [7DOPjYGtnTQ].mp4
2 - Theory of Computation (TOC) | Operations | Lec 2 | GATE Computer Science⧸IT Engineering Exam [XCm43gyfl4M].mp4
3 - Theory of Computation (TOC) | Chomsky Hierarchy | Lec 3 | GATE Computer Science⧸IT Engineering Exam [_YvKlbKmbNg].mp4

どうすればいいですか?

答え1

そしてzsh

autoload -Uz zmv
zmv -n '*| Lec (<->) |*' '$1 - $f'

-n結果が満足な場合は、削除(テスト実行)してください。

答え2

そして~の:

rename -n 's/\bLec\s+(\d+)/$1 - $_/' Theory*

dry-run出力が良好な場合は -n( ) を削除します。

必要なバージョンrename:

$ rename 2>&1 | grep perl
[ -e|-E perlexpr]*|perlexpr [ files ]

関連情報