2014-02-13 207 views
0

我目前有一个磁盘上有数百个文件夹中的小到中等文件3TB的数据。 我需要找到某些文本文件巫婆包含某些单词(不止一个单词)。 我已经为他们尝试了grep-ping。 这可用于打印每个文件的路径。 但这是一个很长的列表,我现在正在寻找一种可行的方法将它们复制到另一个文件夹。需要一点帮助,我需要grep和正确的语法

什么想法?

是否有某种方法可以将-exec cp -rv/estinationfolder放入语法中并让它将所有结果复制到文件夹中?

+0

你不要在你的问题中提到这个问题:如果一个文件包含所有的单词,是一个匹配的文件还是匹配,即使只包含其中的任何一个? – sanmiguel

回答

0

是的,当然有一种方法。

您可以通过管道将grep输出复制到命令并提供所需的目标目录。

下面是一个例子,

find . -type f | xargs grep -l "textToSearch" | cpio -pV $destination_path 

该脚本将文件复制到与本destination_path可变量

最好的部分是,它会同时保留完整的路径复制文件提供目标路径。

+0

如果他的文件包含空格,会发生什么情况? (没什么好的)。你是否为这样的特殊情况测试了你的答案? –