間に挿入された複数のディレクトリの名前を変更します。

間に挿入された複数のディレクトリの名前を変更します。

次のように名前を変更する必要があるディレクトリが何百ものあります。

from 15_öblös to 15_adj_öblös
from 14_kies to 14_adj_kies
and so on...

したがって、数字と単語の間に「adj」を挿入する必要があります。

やったことは良くなかった

for dic in [0-9]*
do
m=`echo "$dic" | cut -d"_" -f1`
l=`echo "$dic" | cut -d"_" -f2`
mv "$dic" "${m}_adj_${l}"
done 

ベストアンサー1

renameFedora、Debian、およびその派生製品(Ubuntu、Mintなど)には、デフォルトでこれを実行するPerlバージョンのコマンドがインストールされており、次のように動作しprenameます。

prename 's/_/_adj_/' *
# OR
rename 's/_/_adj_/' *

次のように、より複雑な操作を実行してより細かく制御し、ファイルを見つけて名前を変更できます。

prename 's/(\d+)_/$1_adj_/' *
# OR 
rename 's/(\d+)_/$1_adj_/' *

注:の場合、prename最初のパラメータはPerlコードです。

おすすめ記事