Linux: рекурсивно ищите в подпапках файл, содержащий строку, и перемещайте его в другой файл - PullRequest
0 голосов
/ 08 октября 2018

Пока у меня есть эта команда на моем терминале, и она ничего не делает.По сути, это поиск любого файла, содержащего слово bango, и перемещение его в другой каталог.

grep -r ".*bango.*" /Users/user/Desktop/drums | xargs mv /Users/user/Desktop/bango 

1 Ответ

0 голосов
/ 08 октября 2018

Grep имеет функцию для вывода списка имен файлов, только вы должны использовать его для отображения имен файлов.

Также xargs может создавать команды с позиционными аргументами.

Попробуйте использовать

grep -rlE ".*bango.*" /Users/user/Desktop/drums | xargs -I @ mv @ /Users/user/Desktop/bango

Опция -E позволяет использовать регулярные выражения.

Однако регулярное выражение не требуется, вы можете активировать быстрый алгоритм grep для фиксированных строк:

grep -rlF "bango" /Users/user/Desktop/drums | xargs -I @ mv @ /Users/user/Desktop/bango

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...