ファイルが別のフォルダにある場合は、フォルダからファイルをコピーします。

ファイルが別のフォルダにある場合は、フォルダからファイルをコピーします。

次のファイルを含むフォルダAを考えてみましょう。

foo
bar
baz

フォルダ B には以下が含まれます。

foo
baz
foobar
qux

フォルダAから新しいフォルダCにコピーするfoo方法は?内容ではなく名前だけを比較していることに注意してください。baz

ベストアンサー1

ファイルに for ループを使用します。パラメータ拡張を使用して部分パスを抽出できます。

#! /bin/bash
for file in folderA/* ; do
    basename=${file##*/}
    if [[ -f folderB/$basename ]] ; then
        cp "$file" folderC/"$basename"
    fi
done

また、フォルダBのファイルを繰り返すこともできます。これは、フォルダBにフォルダAよりもはるかに少ないファイルが含まれている場合にお勧めします。

おすすめ記事