ファイルとそのファイルを含むディレクトリを別の場所にコピーしようとしています。次のパスを見つけることができます。
find ~/dim_import/* -type f ! -name xdir | cut -d '/' -f 5-10
どの出力
general/header.txt
scripts/test
scripts/tt
別の場所にどのようにコピーできますか?たとえば、新しい場所は
new/general/header.txt
new/scripts/test
new/scripts/tt
問題は、空のディレクトリが多く、そのディレクトリをコピーしたくなく、ファイルがあるディレクトリとファイル自体だけをコピーしたいということです。
メモ:バッシュなし、使用sh
。
ベストアンサー1
シェル機能のみを使用する方法は次のとおりですPOSIX
。
find ~/dim_import/* -type f ! -name xdir -exec sh -c '
p=${1%/*};
d=${p##*/};
f=${1##*/};
mkdir -p new/"$d";
cp "$1" new/"$d"' -- {} \;