No final, eu uso a pesquisa no diretório pelo script aqui com um redirecionamento para o Vim. Seria ótimo para obter algo parecido com o trabalho em Geany IDE diretamente.
Meu document.tex
onde eu quero obter a lista de arquivos, e grep esses arquivos com o termo gastric
\subimport{}{1.2_protocal_answers.tex}
\subimport{}{2_protocol_answers.tex}
1.2_protocal_answers.tex
content: this is a gastric juice lorem content
2_protocol_answers.tex
content: this is a second gastric\n test file
Minha saída .pdf está quebrada, mas preciso pesquisar o conteúdo do material. Meu Diretório é muito grande para fazer isso para todos, o que pode ser feito com Find in Files
do Geany. Eu gostaria de fazer pesquisa dependente nos arquivos que são importados no arquivo.
Tentativas
Pseudocódigo em que não consigo obter a lista de arquivos no documento .tex
find ./document.tex -type f -exec \
grep -E '\subimport{[A-Za-z1-9_-]*} {} \;
# TODO search the list of files with the word 'gastric'
Qualquer abordagem IDE? Meu IDE favorito usa grep
internamente, então acho que a abordagem find-grep
é a mais apropriada aqui.
Sistema: Ubuntu 16.04, 64 bit
Grep: grep (GNU grep) 2,25
Encontrar: encontrar (GNU findutils) 4.7.0-git
Equipamento: Macbook Air 2013-mid
Kernel do Linux: 4.6
No final, eu uso a pesquisa no diretório pelo script aqui com um redirecionamento para o Vim. Seria ótimo para obter algo parecido com o trabalho em Geany IDE diretamente.
Editado como o usuário precisa:
cat document.tex | cut -d'{' -f3 | cut -d'}' -f1 | while read file
grep -i 'gastric' "$file" &>/dev/null && echo "$file contains gastric"
done
perl -l0 -ne 'print for /\subimport\{\}\{(.*?)\}/g' file.tex
Imprimir os nomes dos arquivos dentro dessas funções \subimport{}{...}
delimitadas por NUL.
Você pode canalizar isso para xargs -0 grep -l gastric --
para descobrir quais desses arquivos contêm gastric
.