rgpipeは、単一のBash/SHスクリプトであり、Ripgrepで使用するエイリアスであり、それ以外の場合はGrepフレンドリーではない無数のファイルタイプを検索します。 Ripgrepの-PREコマンドで使用します。これにより、RipGrepは検索前にファイルを選択的に処理できます。
最も基本的な使用法は、あるファイルにrgpipeポイントすることであり、そのファイルの内容をSTDOUTに印刷しようとします。
rgpipe MyFancyExcelFile.xlsx
より複雑な使用法は、Ripgrepの前のフィルターとして、さまざまな非テキストファイルのコンテンツをテキストメッセージでテキストで塗りつぶします。基本的な呪文は次のように見えます:
rg --pre-glob '*.{xlsx,pptx,docx,pdf}' --pre rgpipe "$YourSearchTermHere"
ここでそれを使用する方法について拡張された要点を書きました
この要点はrg --pre-globどのように機能するかを説明するこのハッカーのニュースコメントで、Burntsushiによる親切なメモのためにのみ便利です。
これは、グレップを介して次のとおりです。
unzipとsedを使用しますstringsを使用しますunzipとsedを使用しますpdftottextを使用しますw3m LynxとFriendsも使用します。 100%必要ありません。unzipおよびw3m7zipおよびw3m Ubuntuが望んでいる: sudo apt install poppler-utils p7zip w3m unzip
Termuxの要望: pkg install poppler p7zip w3m
rgpipeがパスにあると仮定すると、そうでない場合は/path/to/rgpipeを使用してください
rg --pre rgpipe YourSearchTermHere上記は、必要でない場合でもRGPipeを使用します。
rg --pre-glob ' *.{xlsx,pptx,docx,pdf} ' --pre rgpipe YourSearchTermHereより徹底的な前のグローブ:
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を使用して、テキストサイドカーファイルを作成します
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" '
}
上記の関数を使用して、現在のディレクトリの下でPDF拡張機能を使用して、すべてのファイルにテキストサイドカーを作成します。
find-rgpipe-type pdfステップ2:Ripgrepを使用して、それらのファイルを検索します
rg YourSearchTermHere1-このハッカーのニュースコメント
2-さらにファイルタイプを追加したテンプレートである事前処理スクリプト
3-真夜中の司令官はこの主題について素晴らしいスクリプトを持っています
4-もちろんレスパイプ
5 -RGAは同様のことをしているさびベースのツールです
rgpipeアイデアはLessPipeに似ているためです。