如何使用unix命令在屏幕上的目录下显示所有文件的内容

bvb*_*bvb 5 unix cat

使用cat命令如下,我们可以在屏幕上显示多个文件的内容

cat file1 file2 file3

但是,在一个目录下,如果有超过20个文件,我想所有这些文件的内容将显示在屏幕上,而无需使用cat命令如上面提到的所有文件的名称.

我怎样才能做到这一点?

roj*_*oke 12

如果它只是一个级别的子目录,请使用cat * */* 否则,

find . -type f -exec cat {} \;
Run Code Online (Sandbox Code Playgroud)

这意味着运行find命令,在当前目录(.)中搜索所有普通文件(-type f).对于找到的每个文件,运行应用程序(-exec)cat,将当前文件名作为参数({}是文件名的占位符).转义分号是终止-exec子句所必需的.


Mun*_*nim 9

您可以使用该*字符匹配当前目录中的所有文件.
cat *将显示所有文件的内容.
如果你想扩展名为.txt仅显示文件,你可以使用cat *.txt,或者,如果你想显示其文件名都以"文件"喜欢你举例而言,所有的文件,你可以使用cat file*

  • 如果只是一级子目录,则使用`cat * */*` (2认同)
  • 否则做`find 。-type f -exec cat {} \;` 小心你没有任何非字符文件,因为如果你发现它们可能会搞砸你的显示。 (2认同)

小智 6

我还发现在打印每个文件的内容之前打印文件名很有用:

find ./ -type f | xargs tail -n +1
Run Code Online (Sandbox Code Playgroud)

它也将遍历所有子目录。