Я хотів би знайти всі файли, що містять певний рядок тексту. Як би ти це зробив у Терміналі?
Я хотів би знайти всі файли, що містять певний рядок тексту. Як би ти це зробив у Терміналі?
Відповіді:
grep -r 'text goes here' path_goes_here
man grep
відкрити всі чудові варіанти грепу
No such file or directory
Я намагаюся отримати лише список текстових подій. Як ми можемо отримати цей список?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
використовувати прожектор
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
не забудьте подивитися:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Відповідь Ігнасіо чудова і допомогла мені знайти файли, що містять певний текст. Єдине питання, з яким я стикався, це те, що при виконанні цієї команди будуть перераховані всі файли, в тому числі і той, де шаблон не відображався.
No such file or directory
Це я бачу поряд з файлами, які не містять шаблону.
Якщо замість цього ви додаєте -s
до команди, як у
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
використовується, він покаже лише, які файли містять шаблон.
Аналогічно, якщо grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
використовується команда, вона друкує файл плюс номер рядка та поява шаблону.
Будь ласка, виправте мене, якщо моє розуміння неправильне.
Довідка: Як я можу, щоб grep не роздрукував помилки "Немає такого файлу чи каталогу"?
grep ... 2>/dev/null
. Це рішення працює для більшості програм, оскільки вони повідомляють про помилки в потоці stderr, а не stdout. Я багато разів використовував це рішення find
, оскільки воно скаже Дозвіл відхилений для багатьох файлів.
No such file or directory
повідомлення для файлів, які існують, або ви робите щось не так, або ваша система зламана. (2) Що стосується [PATH OF PARENT]
нічого?
[PATH OF DIRECTORY]
лише випадковість, коли хтось незнайомий хотів дізнатися, чому я поставив./