元のファイルと同じ名前のフォルダにファイルをコピーします。

元のファイルと同じ名前のフォルダにファイルをコピーします。

経験のある人には、これが簡単な質問であることを願っています。

"origin"(たとえば、/origin/x1、/origin/x2など)というフォルダにフォルダリスト(x1、x2、...、xn)があります。

以下から特定のファイル(私の場合はim1.tif)をインポートしたいと思います。フォルダx1、x2、...、xnを/ originにコピーし、同じ名前の「dest」という名前のターゲットフォルダ(/dest/x1、/dest /x2など)にあるフォルダにコピーします。

誰でもこの問題を解決するのに役立ちますか?

ありがとうございます!

答え1

find+bash解決策:

find /origin -type f -name "*.tif" -exec bash -c \
'd="$(dirname $1)"; d=${d##*/}; fn=${1##*/}; 
[ -d "/dest/$d" ] && cp "$1" "/dest/$d/$fn"; ' _ {} \;

関連情報