rgpipe adalah skrip bash/sh tunggal dan alias untuk digunakan dengan ripgrep untuk mencari melalui segudang jenis file yang sebaliknya tidak ramah GREP. Gunakan dengan perintah RipGrep's -pre yang memungkinkan RipGrep untuk memproses file secara selektif sebelum mencari.
Penggunaan paling dasar adalah untuk menunjuk rgpipe di beberapa file, dan itu akan mencoba mencetak konten file tersebut ke stdout.
rgpipe MyFancyExcelFile.xlsx
Penggunaan yang lebih terlibat adalah sebagai filter di depan ripgrep untuk secara sistematis mencoba untuk menggulingkan konten berbagai file non-teks seperti Anda akan mengirim pesan teks. Mantra dasarnya terlihat seperti:
rg --pre-glob '*.{xlsx,pptx,docx,pdf}' --pre rgpipe "$YourSearchTermHere"
Saya menulis intipended tentang cara menggunakannya di sini
Inti itu hanya berguna karena catatan jenis oleh Burntsushi dalam komentar berita peretas ini yang menjelaskan bagaimana rg --pre-glob bekerja.
Ini membantu grep melalui:
unzip dan sedstringsunzip dan sedpdftottext dari popplerw3m Lynx dan teman -teman juga berfungsi. Tidak 100% diperlukan.unzip dan w3m untuk epub7zip dan w3m untuk CHM Ubuntu Wants: sudo apt install poppler-utils p7zip w3m unzip
Termux Wants: pkg install poppler p7zip w3m
Dengan asumsi rgpipe ada di jalur, gunakan/path/to/rgpipe jika tidak
rg --pre rgpipe YourSearchTermHereDi atas menggunakan rgpipe bahkan saat tidak diperlukan, yang lambat, ripgrep dapat secara selektif menggunakannya dengan --pre-glob
rg --pre-glob ' *.{xlsx,pptx,docx,pdf} ' --pre rgpipe YourSearchTermHerePre Glob yang lebih menyeluruh:
rg --pre-glob ' *.{pdf,xl[tas][bxm],xl[wsrta],do[ct],do[ct][xm],p[po]t[xm],p[op]t,html,htm,xhtm,xhtml,epub,chm,od[stp]} ' --pre rgpipe YourSearchTermHereAlias karena itu banyak mengetik
alias rgg= " rg -i -z --max-columns-preview --max-columns 500 --hidden --no-ignore --pre-glob
'*.{pdf,xl[tas][bxm],xl[wsrta],do[ct],do[ct][xm],p[po]t[xm],p[op]t,html,htm,xhtm,xhtml,epub,chm,od[stp]}' --pre rgpipe "Langkah 1: Gunakan RGPipe untuk membuat file sidecar teks
find-rgpipe-type () {
find ` pwd ` -type f -iname " *. $1 " -exec sh -c ' for f; do rgpipe "$f" > "${f%.*}.txt"; done ' _ {} +
}
# or get fancy with xargs for multithreaded goodness
find-rgpipe-type-xargs () {
find " $( pwd ) " -type f -iname " *. $1 " -print0 | xargs -0 -P0 -n 1 -I {} sh -c ' rgpipe "{}" > "{}.txt" '
}
Buat sidecars teks untuk semua file dengan ekstensi PDF di bawah direktori saat ini menggunakan fungsi yang ditentukan di atas.
find-rgpipe-type pdfLangkah 2: Gunakan RipGrep untuk mencari file -file tersebut
rg YourSearchTermHere1 - Komentar Berita Peretas Ini
2 - skrip pemrosesan pra yang merupakan templat di mana saya menambahkan beberapa jenis file lagi
3 - Komandan tengah malam memiliki skrip yang bagus tentang hal ini
4 - Lesspipe tentu saja
5 - RGA adalah alat berbasis karat yang melakukan hal serupa
rgpipe karena idenya mirip dengan Lesspipe.