![スクリプト内のファイル名を変更しますか? [コピー]](https://linux33.com/image/156778/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
私はより短い時間で作業を完了できるスクリプトを作成しています。ファイル名を自動的に変更する方法はありますか?
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"
prename
or 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