rgpipe é um script de bash/sh único e um alias para usar com o RipGrep para pesquisar uma infinidade de tipos de arquivos que, de outra forma, não são amigáveis para o grep. Use -o com o comando -pre da Ripgrep, que permite que o RipGrep processe seletivamente arquivos antes de pesquisar.
O uso mais básico é apontar rgpipe em algum arquivo e tentará imprimir o conteúdo do referido arquivo no stdout.
rgpipe MyFancyExcelFile.xlsx
O uso mais envolvido é como um filtro na frente do RipGrep para tentar sistematicamente grep o conteúdo de arquivos nãotados não textos, assim como você faria uma mensagem de texto. O encantamento básico se parece:
rg --pre-glob '*.{xlsx,pptx,docx,pdf}' --pre rgpipe "$YourSearchTermHere"
Eu escrevi uma essência estendida sobre como usá -lo aqui
Essa GIST é útil apenas por causa da nota de Burntsushi neste comentário de notícias de hackers, explicando como rg --pre-glob funciona.
Isso ajuda a Grep através de:
unzip e sedstringsunzip e sedpdftottext do Popplerw3m Lynx e os amigos também funcionam. Não 100% necessário.unzip e w3m para epub7zip e w3m para CHM Ubuntu quer: sudo apt install poppler-utils p7zip w3m unzip
Termux deseja: pkg install poppler p7zip w3m
Supondo
rg --pre rgpipe YourSearchTermHereAcima usa rgpipe, mesmo quando não é necessário, o que é lento, o Ripgrep pode usá-lo seletivamente com-prel-glob
rg --pre-glob ' *.{xlsx,pptx,docx,pdf} ' --pre rgpipe YourSearchTermHereUm pré -globo mais completo:
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 YourSearchTermHereUm pseudônimo porque isso é muito digitando
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 "Etapa 1: Use RGPIPE para fazer arquivos de text 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" '
}
Faça o texto sidecars para todos os arquivos com extensão PDF no diretório atual usando a função definida acima.
find-rgpipe-type pdfEtapa 2: Use Ripgrep para pesquisar esses arquivos
rg YourSearchTermHere1 - Este comentário de notícias para hackers
2 - O script de pré -processamento que é o modelo no qual adicionei mais alguns tipos de arquivo
3 - Comandante da meia -noite tem ótimos scripts sobre esse assunto
4 - Lesspipe, é claro
5 - RGA é uma ferramenta à base de ferrugem fazendo uma coisa semelhante
rgpipe porque a ideia é semelhante ao LESSPIPE.