5

多くのヘッダー ファイル (.h) と他の .o および .c ファイルと他のファイルを含むディレクトリがあります。このディレクトリには、内部に多数のネストされたディレクトリがあります。ヘッダー ファイルのみを別のディレクトリにコピーし、新しいディレクトリで同じ構造を維持したいと考えています。

cp -rf oldDirectory newDirectoryすべてのファイルをコピーします。ヘッダファイルだけをコピーしたい。

4

3 に答える 3

8
(cd src && find . -name '*.h' -print | tar --create --files-from -) | (cd dst && tar xvfp -)

ファイルをコピーする代わりにハードリンクしたい場合は、cpio で同様のことを行うことができますが、後で少し mv'ing が必要になる可能性があります。大量のデータがあり、共有を気にしない (または共有する必要がある!) 場合は、この方法の方がはるかに高速です。dst に src が必要な場合、混乱します。これは、単なる副作用ではない場合です。

  1. 検索 src -name '*.h' -print | cpio -pdlv dst
  2. mv dst/src/* dst/.
  3. rmdir dst/src
于 2012-04-16T17:30:17.867 に答える
2

これは私のために働いた:

rsync -avm --include='*.h' -f 'hide,! */' . /destination_dir

ここから

于 2015-04-05T12:03:29.833 に答える
-1
cp -rf oldDirectory/*.h newDirectory

またはそのようなもの(実際のパスに応じて)

find oldDirectory -type f -name "*.h" -print0 | xargs -file cp file newDirectory
于 2012-04-16T15:16:30.540 に答える