파일 내용을 재귀적으로 표시하는 방법은 무엇입니까?

파일 내용을 재귀적으로 표시하는 방법은 무엇입니까?

저는 항상 인쇄된 과제 보고서에 소스 코드를 제출해야 합니다.강좌 코드를 복사하여 붙여넣어야 합니다문서에 들어가 보니 짜증나는 작업이었습니다.

나는 이것을 해결하고 싶다"복사 및 붙여 넣기"문제. 그러므로 나는 그렇게 했지만 cat현재 디렉토리에서만 작동합니다. 파일 내용을 재귀적으로 표시할 수 있기를 바랍니다.

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

답변1

당신이 사용할 수있는 find(매뉴얼 페이지) 이를 수행하려면 다음을 수행하십시오.

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

각 cat 작업 앞에 파일 이름을 인쇄하려면 -print앞에 를 추가할 수도 있습니다.-exec

답변2

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

답변3

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

그 all_course 파일은 약간 엉망이 될 것입니다. 머리글이나 바닥글을 추가하고 싶을 수도 있습니다.

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

답변4

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

라인 번호를 표시합니다. 또한 쉽게 읽을 수 있도록. 더 나은 결과를 얻으려면 grep 스위치로 조작하십시오.

관련 정보