2016-12-10 2 views
1

У меня есть несколько файлов с пробелами в их именах. Я хочу выбрать все файлы, содержащие определенный текст, и скопировать их в другой каталог. Я могу использовать grep, чтобы сделать первую часть, но застрял в трубке список имен файлов до cp. cp всегда разрезает имена файлов в соответствии с пробелами. Я пробовал xargs --null, и это не помогло мне. Любое практическое решение?Как скопировать файлы с пробелами в их именах

ответ

0

Используйте --null опции для обоих grep и xargs:

grep --null --files-with-matches 'word' * | xargs --null cp -t "$target_dir" 

В --null опции приводят команды для завершения имен файлов с нулевым байтом, а не новой строкой.