ファイルシェルスクリプトの移動

ファイルシェルスクリプトの移動

シェルスクリプトがあります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最後に文字列を追加します。.PK2name.MIX

おすすめ記事