GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリ(およびそのサブディレクトリ)内のすべてのpdfファイルを単一の出力ディレクトリに再帰的にコピーするにはどうすればよいですか?

  find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;    

これが私が行ったテストです

$ ls -R
.:
a  aaa bbb.pdf  pdfs

./a:
foo.pdf

./pdfs:

ファイル「aaa bbb.pdf」に注目してください。

$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a  pdfs

./a:

./pdfs:
aaa bbb.pdf  foo.pdf

bash を使用する場合 最近のバージョンでは、globstar から利益を得ることができます オプション:

shopt -s globstar
mv **/*.pdf papers/

find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers

(別の回答に似ていますが、私は pipe/xargs/mv を好みます...より直感的です)

参考までに、複数のディレクトリと複数の pdf ファイルで上記の 1 行のスクリプトを正常に実行しました。


Linux
  1. 特定のディレクトリ内のファイルとサブディレクトリの数をカウントする方法

  2. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  3. ディレクトリ内のファイル サイズがゼロ (0) バイトのすべてのファイルを再帰的に検索する方法

  1. すべてのファイルとディレクトリを再帰的に一覧表示する方法

  2. *を介して隠しファイルを含むすべてのファイルを親ディレクトリに移動する方法

  3. パターンに一致するすべてのファイルをディレクトリとサブディレクトリから単一のディレクトリにコピーします

  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. シェルスクリプト:ファイルをディレクトリとサブディレクトリに並べ替えますか?

  3. Ubuntu 13.04 で PHPStorm とすべての関連ファイルを完全に削除するにはどうすればよいですか?