

カレント以下のファイルの中身すべてをまとめてみたいです。一つひとつ確認するのが大変だからです。catなどつかってみれるのでしょうか？


CC BY-SA 4.0
2020-08-06T23:34:25.947
69313
2020-08-08T02:44:44.400
36091
question
linux shell zsh
カレント以下のファイルの中身をまとめて見る方法

[code]

    find . -type f | xargs tail -n +1
    
[/code]

や

[code]

    find . -type f -exec cat {} \;
    
[/code]

が良さそうです。

# 参考資料

[cat - How to display contents of all files under a directory on the screen
using unix commands - Stack
Overflow](https://stackoverflow.com/questions/21277963/how-to-display-
contents-of-all-files-under-a-directory-on-the-screen-using-unix)

[command line - Show contents of many files - Unix & Linux Stack
Exchange](https://unix.stackexchange.com/questions/12342/show-contents-of-
many-files)


CC BY-SA 4.0
2020-08-06T23:42:18.263
69314
2020-08-07T00:08:04.437
2020-08-07T00:08:04.437
9008
9008
69313
answer


zshですと、 `**` で複数段のディレクトリにもマッチするワイルドカードが書けるので、たとえば

[code]

    $ wc **/*.h
    
[/code]

とやると、カレント以下の奥深い所にあるものも含めて、 "*.h" なファイルだけ wcすることができます。

[以下投稿後編集]  
ファイルの中身を単純に表示するのであれば、catはもちろん、moreやlessなどのコマンドも使えます。


CC BY-SA 4.0
2020-08-07T01:03:28.767
69316
2020-08-08T02:44:44.400
2020-08-08T02:44:44.400
40200
40200
69313
answer


一番シンプルな方法は **ページャ** の `more` や `less` を使えばよいのかなと思います。  
(対象のディレクトリにテキストとして表示できるファイルのみが存在すると仮定した場合)

[code]

    $ more *.txt
       or
    $ less *.txt
    
[/code]

`more` はファイルの終端に来たら自動で次のファイルに移動します。  
`less` の場合は `:n` で次のファイルへ移動します。


CC BY-SA 4.0
2020-08-07T01:47:01.203
69319
2020-08-07T01:47:01.203
3060
69313
answer


ファイル名、行番号付きで表示するなら`pr`がよいと思います。

[code]

    find . -type f | xargs pr -n -f | less
    
[/code]

[code]

    find . -name "*.c" | xargs pr -n -f | less
    
[/code]


CC BY-SA 4.0
2020-08-07T06:21:55.553
69327
2020-08-07T06:21:55.553
35558
69313
answer