同じファイル名を持つ複数のファイルを異なる場所から同じ場所にコピーします。

同じファイル名を持つ複数のファイルを異なる場所から同じ場所にコピーします。

同じファイル名を持つ複数のファイルを別の場所から同じ場所にコピーしたいです(元の場所に応じて名前を変更します)。

たとえばコピーしたいのですが、

/apple/test.txt
/banana/test.txt
/grape/test.txt

入力する

/fruits/apple_test.txt
/fruits/banana_test.txt
/fruits/grape_test.txt

Linuxでこれを行う方法はありますか?

答え1

forループを使用できます。

#!/bin/bash

for fruit in apple banana grape; do
    cp "/${fruit}/test.txt" "/fruits/${fruit}_test.txt"
done

ループは3回実行されます。毎回変数は3つの値のうちのfruit1つと合計されます。各果物について、ソースファイルをターゲットファイルにコピーします。applebananagrape

関連情報