如何遞迴顯示文件內容?

如何遞迴顯示文件內容?

我總是必須在列印的作業報告中提交原始程式碼。我必須複製並貼上我的課程代碼進入文件後,我發現這是一項煩人的任務。

我想解決這個問題"複製及貼上"問題。因此我這樣做了,cat但它只適用於當前目錄。我希望它能遞歸地顯示文件內容。

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

答案1

您可以使用find手冊頁)來完成這個:

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

您也可以-print在 之前新增 來-exec在每次 cat 操作之前列印檔案名稱

答案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 開關進行操作以獲得更好的結果。

相關內容