Pierwsze wyszukiwanie szerokości za pomocą ack lub grep

11

Kiedy szukam np. Mojego katalogu domowego za pomocą ack(lub grep), zwykle chcę wiedzieć, gdzie ustawiłem określoną opcję.

Ponieważ większość plików konfiguracyjnych jest naprawdę blisko ~, znacznie przyspieszyłbym, ackgdybym mógł przeszukać szerokość na początku. czy to możliwe?

Profpatsch
źródło
1
Niestety odpowiedź wydaje się przecząca.
Nifle,
4
Wydaje się, że co kilka miesięcy google go i wracam do tej strony.
Gregory Nisbet
2
@GregoryNisbet Moim „rozwiązaniem” było przejście na ag, które jest około 5–10 razy szybsze acki nie ma żadnych wad. W połączeniu z przejściem na SSD od tamtej pory nie miałem problemu.
Profpatsch,

Odpowiedzi:

3

Nie wiem, ackale z narzędziami, grepktórych zwykle używam:

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

Część pomiędzy (i )zapewnia, że ​​najpierw pliki na poziomie 1 są wymienione, a następnie pliki na poziomie 2 i głębszym (możesz zmieniać). xargspodaje nazwy plików na 50 do grep.

Oczywiście zależy to od tego, który wariant findjest dostępny na twojej platformie. Jeśli prowadzisz coś sprzed 30 lat, będziesz musiał użyć czegoś takiego jak sortowanie według liczby ukośników.

Guido Leenders
źródło
MMV (Archlinux):grep: ./.macromedia/Flash_Player/#SharedObjects/Q2GSRK6Y/www.mixcloud.com/media: Is a directory
xtian
Jeśli nie zamierzasz użyć -print0do znalezienia, przynajmniej zrób find . -maxdepth 1 -exec grep {} +;. mywiki.wooledge.org/BashFAQ/020
Ograniczone Zadośćuczynienie