Luasnya pencarian pertama dengan ack atau grep

11

Ketika saya mencari misalnya direktori home saya dengan ack(atau grep), saya biasanya ingin tahu di mana saya menetapkan opsi tertentu.

Karena sebagian besar file config sangat dekat dengan ~itu akan sangat mempercepat ackjika saya bisa mencari luasnya terlebih dahulu. Apakah ini mungkin?

Profpatsch
sumber
1
Sayangnya jawabannya sepertinya tidak.
Nifle
4
Tampaknya setiap beberapa bulan saya google ini dan kembali ke halaman ini.
Gregory Nisbet
2
@GregoryNisbet My "solusi" telah beralih ke ag, yaitu sekitar 5-10 kali lebih cepat daripada ackdan tidak memberikan kekurangan. Dikombinasikan dengan beralih ke SSD, saya tidak memiliki masalah sejak itu.
Profpatsch

Jawaban:

3

Saya tidak tahu acktetapi dengan alat-alat seperti yang grepbiasanya saya gunakan:

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

Bagian di antara (dan )memastikan bahwa pertama file di level 1 terdaftar dan setelah itu yang di 2 dan lebih dalam (Anda dapat bervariasi). xargsmengumpankan nama file per 50 ke grep.

Tentu saja itu tergantung pada varian mana yang findtersedia di platform Anda. Jika menjalankan sesuatu dari 30 tahun yang lalu, Anda harus menggunakan sesuatu seperti mengurutkan pada jumlah garis miring ke depan.

Guido Leenders
sumber
MMV (Archlinux):grep: ./.macromedia/Flash_Player/#SharedObjects/Q2GSRK6Y/www.mixcloud.com/media: Is a directory
xtian
Jika Anda tidak akan menggunakan -print0untuk menemukan, setidaknya lakukan find . -maxdepth 1 -exec grep {} +;. mywiki.wooledge.org/BashFAQ/020
Penebusan Terbatas