親フォルダのファイルを新しいディレクトリにコピー

親フォルダのファイルを新しいディレクトリにコピー

いくつかのファイルをコピーし、プロセスにその親ディレクトリを含めたいと思います。

現在の構造は次のとおりです。

/Module1/A/downloads/m13312/file.pdf
/Module1/A/downloads/m17312/file.pdf
/Module1/B/downloads/m18312/file.pdf
/Module2/A/downloads/m19312/file.pdf

パスの最後の2つの部分をキャッチしたいので、次のように終了します。

/mydir/m13312/file.pdf
/mydir/m17312/file.pdf
/mydir/m18312/file.pdf
/mydir/m19312/file.pdf

cut正しい結果を使用して取得しようとしましたが、awkパスが正しく返されないようです。以下は私が必要とするものに答える例です(まだコピー部分をカバーしていません)。

find . -type 'f' -path '*downloads*' -print0 | xargs -0 -I {} echo `cut -d/ -f4-5 <<<{}`

これは単にフルパスを印刷するので、まだ利用できないことを知っています。

ベストアンサー1

paxこのオプションをサポートする場合-0:

find . -type 'f' -path '*downloads*' -print0 |
  pax -rw0s'|.*downloads/||' /mydir

おすすめ記事