Як шукати за вмістом на Ubuntu


8

Я хотів би пошукати весь сервер за вмістом. (текстовий файл)

Коли я намагаюся grep -rl "текст тут", він застигає.

Як би ти це зробив?

І скільки часу це зазвичай займає?

Відповіді:


17

Вам потрібно вказати файл при використанні grepкоманди. За допомогою команди, яку ви використовуєте, ви шукаєте на стандартному вході ...

Спробуйте grep -r "test" directory.


7
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null

Що можна пояснити людською мовою як:

  1. знайти
  2. починаючи з /
  3. у всіх файлах з ім'ям * .txt (цитати повинні обійти інтерпретацію оболонки)
  4. з отриманими хітами виконайте наступне
  5. grep "тест тут"
  6. у файлі {}
  7. кінець exec (\;) уникнув кінця оператора
  8. друкувати файли, які відповідають
  9. повідомлення про помилки переадресації в раковині (оскільки ви можете не мати root, інакше просто надумайте)

в ньому написано "знайти: відсутній аргумент до 'grep'"
webnat0

працює тут. як ви замінили "тест тут"?
Ален Паннетьє

1
@Daeyun: Є лише одна косою рисою.
Призупинено до подальшого повідомлення.

1
@Dennis. Залежить від вашої рідної мови. У Японії та Кореї існує декілька наборів символів, у яких зворотна косої риси також відображається як знак єни або знак Вонг (0x5c). Також, будь ласка, подивіться на u + 20E5. У минулому в IIS було декілька подвигів, за допомогою яких можна було дослідити весь диск (де у IIS був його корінь) ПК, просто змішавши реальну косу рису і хибну (інший еквівалентний унікод, перетворений вниз в план ascii) косою рисою і принаймні один, використовуючи накладення на зворотному солідусі.
Ален Паннетьє,

0

ви забудете вказати, який тип файлів ви хочете шукати,
переконайтеся, що ви ввійшли як root

cd /
grep -rl "text here" *  > /tmp/match.txt

це займе дуже багато часу, і ви зможете збирати результати пізніше, перевіривши /tmp/match.txt


0

Наступна команда шукає всі файли, що закінчуються .txt у поточній робочій директорії та всіх підкаталогах:

find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.