rgpipe هو برنامج نصي واحد Bash/SH ومستعار لاستخدامه مع RipGrep للبحث من خلال عدد لا يحصى من أنواع الملفات التي لا تكون صديقة. استخدمه مع أمر RIPGREP's -Pre الذي يسمح لـ RIPGREP بمعالجة الملفات بشكل انتقائي قبل البحث.
الاستخدام الأساسي هو توجيه rgpipe إلى بعض الملفات ، وسيحاول طباعة محتويات الملف المذكور إلى stdout.
rgpipe MyFancyExcelFile.xlsx
الاستخدام الأكثر إشراكًا هو مرشح أمام RipGrep لمحاولة grep بشكل منهجي من خلال محتويات الملفات غير المتنوعة غير النصية بقدر ما ترسل الملفات. يشبه التعويذة الأساسية:
rg --pre-glob '*.{xlsx,pptx,docx,pdf}' --pre rgpipe "$YourSearchTermHere"
لقد كتبت جوهرًا ممتدًا حول كيفية استخدامه هنا
هذا gist مفيد فقط بسبب الملاحظة الرقيقة من قبل Burntsushi في تعليق أخبار Hacker هذا يشرح كيف يعمل rg --pre-glob .
هذا يساعد grep من خلال:
unzip و sedstringsunzip و sedpdftottext من popplerw3m Lynx والأصدقاء يعملون أيضًا. ليس 100 ٪ ضروري.unzip و w3m لـ EPUB7zip و w3m لـ CHM يريد Ubuntu: sudo apt install poppler-utils p7zip w3m unzip
Termux يريد: pkg install poppler p7zip w3m
على افتراض أن rgpipe في المسار ، استخدم/مسار/إلى/rgpipe إذا لم يكن
rg --pre rgpipe YourSearchTermHereيستخدم أعلاه RGPip
rg --pre-glob ' *.{xlsx,pptx,docx,pdf} ' --pre rgpipe YourSearchTermHereلعبة Pre Glob أكثر شمولاً:
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 YourSearchTermHereالاسم المستعار لأن هذا كثير من الكتابة
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 "الخطوة 1: استخدم RGPipe لصنع ملفات Sidecar النصية
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" '
}
قم بعمل نص SIDECARS لجميع الملفات مع امتداد PDF ضمن الدليل الحالي باستخدام الوظيفة المحددة أعلاه.
find-rgpipe-type pdfالخطوة 2: استخدم RIPGREP للبحث في تلك الملفات
rg YourSearchTermHere1 - تعليق أخبار المتسلل هذا
2 - البرنامج النصي المسبق للمعالجة هو القالب الذي أضفت فيه بعض أنواع الملفات
3 - Midnight Commander لديه نصوص رائعة حول هذا الموضوع
4 - LISPIPER بالطبع
5 - RGA هي أداة تعتمد على الصدأ
rgpipe لأن الفكرة تشبه Lispipe.