web-dev-qa-db-ja.com

ファイルの内容を再帰的に表示する方法は?

私は常に印刷された課題レポートでソースコードを提出する必要があります。 コースコードをコピーして貼り付ける必要がありますをドキュメントに挿入すると、煩わしい作業であることがわかりました。

これを解決したい"copy and paste"問題。したがって、そのようなcatを使用しましたが、現在のディレクトリでのみ機能します。ファイルの内容を再帰的に表示できるといいですね。

ls -R *.Java | xargs cat >> all_course.txt
8
user1022209

findman page )を使用してこれを実行できます。

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

-printの前に-execを追加して、各cat操作の前にファイル名を出力することもできます。

14
cottonke
find . -name "*.Java" -print0 | xargs -0 cat 
9
Satish
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
glenn jackman
 grep -R -win --include='*\.Java' '' * | less

行番号を表示します。また、読みやすいように。より良い結果を得るためにgrepスイッチで操作します。

1
okobaka
find . -name "*.Java" -exec cat {} \;
1
Danstahr