私は、unixディレクトリで次の形式のファイルを使用するためにsedまたは他のコマンドを使用します。
Owner.Env.File_010513_1200_ver1.expdp
Owner.Env.File_010513_1200_ver2.expdp
Owner.Env.File_010513_1200_ver3.expdp
Owner.Env.File_010513_1200_ver4.expdp
このファイルの名前を次の形式に変更したい
Owner.Env.File_100613_2300_ver1.expdp
Owner.Env.File_100613_2300_ver2.expdp
Owner.Env.File_100613_2300_ver3.expdp
Owner.Env.File_100613_2300_ver4.expdp
答え1
for file in Owner.Env.File_10513_1200_ver*.expdp; do
mv "$file" "${file/010513_1200/100613_2300}"
done
答え2
ファイルが多すぎない場合(数万個)、この操作を実行する必要があります(次にファイルが残っていることを確認し、ls Owner.Env.File_010513_1200_ver*.expdp
その場合はコマンドを繰り返します)。
rename File_010513_1200_ File_100613_2300_ Owner.Env.File_010513_1200_ver*.expdp
多数のファイル(そして奇妙な名前を持つファイル)を処理するためのGNUの代替案は次のとおりです。
find . -regex ".*/Owner.Env.File_010513_1200_ver[1-9][0-9]*.expdp" -print0 | \
xargs -0 rename File_010513_1200_ File_100613_2300_