スクリプト内のファイル名を変更しますか? [コピー]

スクリプト内のファイル名を変更しますか? [コピー]

私はより短い時間で作業を完了できるスクリプトを作成しています。ファイル名を自動的に変更する方法はありますか?

WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)'

到着

WDMyCloud_plexmediaserver_1.16.1.1291.bin

したがって、数字を検出しますが、後ろの部分を削除します.bin

私はUbuntuを使用しています。

答え1

使用mv:

file='WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)'
mv "$file" "${file%.bin*}.bin"

prenameor file-rename(Debian / Ubuntuでも呼び出されます)を使用してくださいrename

prename -n 's/\.bin.*$/.bin/' WDMyCloud_plexmediaserver_1.16.1.1291.bin\(07082019\)

実際に名前を変更するには、削除してください-n

答え2

スクリプトを生成できます。

#!/bin/bash
for i
do
mv "$i" "${i%\(*}"
done

スクリプトがすべてのファイルと同じフォルダにある場合は、ファイル名をパラメータとしてスクリプトに渡すことができます。

例えば

file 'WDMyCloud_plexmediaserver_1.16.1.1291.bin(07082019)' 'WDMyCloud_plexmediaserver_1.16.1.1292.bin(07082011)'

同じフォルダ内の名前が変更されます

WDMyCloud_plexmediaserver_1.16.1.1291.bin
WDMyCloud_plexmediaserver_1.16.1.1292.bin

関連情報