我正在运行centos并且发现了类似的问题,但是没有人需要完全按照我的方式去做。
我想在其中隐藏的任何文件中找到一个字符串:
/home/username/mail/.person1\@someemaildir_com /
当它找到它们或找到它们之后,将它找到的任何文件复制到另一个文件夹:
/home/username/mail/.person2 \ @ someemaildir_com / .Mail \ Folder /
以下是我在没有工作的情况下尝试的内容:
grep -lir 'stringtofind' /home/username/mail/.person1\@someemaildir_com/* | xargs cp -t /home/username/mail/.person2\@someemaildir_com/.Mail\ Folder/
答案 0 :(得分:0)
我建议关注(假设您的grep "stringtofind"
做了它应该做的事情):
grep -lir "stringtofind" /home/username/mail/.person1\@someemaildir_com/* | while read f; do
cp "$f" /home/username/mail/.person2\@someemaildir_com/.Mail\ Folder/
done
"大约$ f可能很重要,因为文件名或文件夹名中的空格
答案 1 :(得分:0)
对于其他寻找此答案的人来说还可以。我改变了战术,并使下面的工作得很好。
find /home/username/mail/.person1\@someemaildir_com/ -name '*' -exec grep -l "string to find" {} \; -exec cp {} /home/username/mail/.person2\@someemaildir_com/.Mail\ Folder/ \;