Como exibir o conteúdo do arquivo recursivamente?

Como exibir o conteúdo do arquivo recursivamente?

Sempre tenho que enviar os códigos-fonte em meu relatório de trabalho impresso.Tenho que copiar e colar meus códigos de cursono documento e acho que é uma tarefa chata.

Eu quero resolver isso"copiar e colar"problema. Portanto fiz assim, catmas só funciona no diretório atual. Espero que possa exibir o conteúdo do arquivo de forma recursiva.

ls -R *.java | xargs cat >> all_course.txt

Responder1

Você pode usar find(página de manual) para fazer isso:

find -name "*.java" -exec cat {} \;

Você também pode adicionar um -printantes de -execimprimir o nome do arquivo antes de cada operação cat

Responder2

find . -name "*.java" -print0 | xargs -0 cat 

Responder3

shopt -s globstar
cat **/*.java >> all_course.txt

Esse arquivo all_course será uma bagunça. Você provavelmente deseja adicionar alguns cabeçalhos ou rodapés:

for f in **/*.java; do
    echo "/* *********************************"
    echo " * $f"
    echo " * *********************************/"
    echo ""
    cat "$f"
    echo ""
    echo "/* *********************************"
    echo " * $f"
    echo " * *********************************/"
    echo ""
    echo ""
done > all_course.txt

Responder4

 grep -R -win --include='*\.java' '' * | less

Mostrará a linha não. também, para facilitar a leitura. Manipule com opções grep para obter melhores resultados.

informação relacionada