同じディレクトリに多数のファイルをコピーし、名前の年を変更する方法は?
私はこれを持っています(ファイル名と拡張子が異なる場合があります)。
filename1-2014.ext
filename2-2014.ext
filename3-2014.ext
...
filenamen-2014.ext
私はこれが欲しい:
filename1-2014.ext
filename1-2015.ext
filename2-2014.ext
filename2-2015.ext
filename3-2014.ext
filename3-2015.ext
...
filenamen-2014.ext
filenamen-2015.ext
これを行うスクリプトを作成できますが、これを行う簡単な方法があるかどうか疑問に思います。
答え1
そして、次を見つけてください。
find . -type f -name '*2014*' -exec bash -c 'cp "$0" "${0/2014/2015}"' {} \;
シェルループで:
for file in *2014*; do cp "$file" "${file/2014/2015}" done
答え2
for i in *-2014.ext; do
cp "$i" "${i%2014.ext}2015.ext"
done
各ファイルに対して古いサフィックスを削除し、新しいサフィックスを追加します。
他の拡張機能がある場合は、bashのパターン置換機能を使用できます。
for i in *-2014.*; do
cp "$i" "${i/2014/2015}"
done