特定のテキストを含むファイルをコピーし、ディレクトリ構造を維持します。

特定のテキストを含むファイルをコピーし、ディレクトリ構造を維持します。

使用中のコードこの回答、特定のテキストを含むファイルをあるフォルダから別のフォルダに簡単にコピーできます。この-rオプションを使用すると、ディレクトリ内で再帰的に検索することもできます。

その結果、ターゲットディレクトリに多くのファイルがコピーされました。ファイルをコピーするときにディレクトリ階層を維持するにはどうすればよいですか?

これは次のようによく似ています。これまたはこれ問題がありますが、問題が追加されたため、ファイル内の特定のテキストを検索する必要があります。

FWIW、Ubuntu 14.04 x64を使用しています。

答え1

見つけたらその答え、それなら特別なことはありません。

$ cd /path/to/srcdir
$ grep -lr PATTERN . | tar -T - -cf - | tar -C /path/to/dstdir -xf -

関連情報