Перший пошук за допомогою хека або грепу


11

Коли я шукаю, наприклад, свій домашній каталог з ack(або grep), я зазвичай хочу знати, де я встановив певний параметр.

Оскільки більшість файлів конфігурацій дійсно близькі, ~це значно пришвидшило б, ackякщо я міг би здійснити пошук в першу чергу Чи можливо це?


1
На жаль, відповідь, здається, ні.
Ніфле

4
Здається, кожні пару місяців я переглядаю це Google і повертаюся на цю сторінку.
Григорій Нісбет

2
@GregoryNisbet Моє «рішення» було перейти на ag, що приблизно в 5–10 разів швидше ackі не дає ніяких недоліків. У поєднанні з переходом на SSD у мене з тих пір не виникало проблем.
Profpatsch

Відповіді:


3

Я не знаю, ackале з такими інструментами, якими grepя зазвичай користуюся:

( find . -maxdepth 1 -print ; find . -mindepth 2 -print ) | xargs -n 50 -exec grep TXT

Частина між (і )гарантує, що спочатку перераховані файли на рівні 1, а потім файли на рівні 2 і глибше (ви можете змінювати). xargsподає імена файлів на 50 до grep.

Звичайно, це залежить від того, який варіант findдоступний на вашій платформі. Якщо ви працюєте щось з 30 років тому, вам потрібно буде скористатися чимось на зразок сортування за кількістю прямих косих.


MMV (Archlinux):grep: ./.macromedia/Flash_Player/#SharedObjects/Q2GSRK6Y/www.mixcloud.com/media: Is a directory
xtian

Якщо ви не збираєтесь використовувати, -print0щоб знайти, принаймні зробіть find . -maxdepth 1 -exec grep {} +;. mywiki.wooledge.org/BashFAQ/020
Обмежене спокутування
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.