シェルスクリプトがありますren.sh
#!/bin/bash
/usr/bin/mv /home/imp/imp/msgs/$1.PK1 /home/imp/imp/msgs/$1.BRD
/usr/bin/mv /home/imp/imp/msgs/$1.PK2 /home/imp/imp/msgs/$1.MIX
うまくいきますが、一度に2つのファイルしか移動できません(*.PK2
および*.PK1
)。すべての既存のファイル*.PK1
とファイルを、ファイル*.PK2
に移動したいと思います。*.MIX
*.BRD
可能ですか?
ベストアンサー1
はい。
for name in /home/imp/imp/msgs/*.PK1; do
mv "$name" "${name%.PK1}.BRD"
done
for name in /home/imp/imp/msgs/*.PK2; do
mv "$name" "${name%.PK2}.MIX"
done
*.PK1
最初のループは、下のすべてのファイルを繰り返し、/home/imp/imp/msgs
ファイル名のサフィックスを.BRD
。
2番目のループは、他のファイルセットに対して同様の操作を実行します。
変数拡張は、変数に格納された値の末尾から文字列を削除し、結果の${name%.PK2}.MIX
最後に文字列を追加します。.PK2
name
.MIX