固定テキストを追加して名前部分を移動する一括名前変更フォルダ

固定テキストを追加して名前部分を移動する一括名前変更フォルダ

など[year] nameのパターン名を付けた複数のディレクトリがあります[1900] aaaa。名前の先頭に固定を追加し、その部分を最後に移動して(またはという名前を作成したいと思います)。[1901] bbbb[1902] cccctext -[year]text - name [year]text - aaaa [1900]

rename -nv '[' 'text - ' '['?util-linux 2.36.2で名前を変更しようとしていますno matches found: [?

どうすれば修正できますか?

編集:元の投稿ですべてのフォルダの名前が異なることに言及するのを忘れました。

答え1

Perlツールの使用(util-linuxパッケージとは異なりますrename):rename

rename 's/^(\[\d{4}\])( .*)/text -$2 $1/' *

使用bashパラメータ部分文字列拡張:

for i in \[[0-9][0-9][0-9][0-9]\]\ *; do
  mv "$i" "text -${i:6} ${i:0:6}"
done

答え2

まあ、これは今年難しい部分ですが、これがうまくいくでしょう。まずテストしてみてください。いくつかの例で試してみました。

for n in *; do year=$(echo "$n" | grep -oz [[:digit:]]); mv "$n" "addon - text [$year]"; done

私のテストファイルの名前は「[年]テキスト」でした。ファイル名が異なる場合は、少し調整する必要があります。

ジェイソンC.

関連情報