当前文件夹和所有子文件夹中的 cat 文件

Moh*_*sen 44 shell directory cat tree

我想要cat当前文件夹中的文件和所有子文件夹(和子文件夹)中的所有文件。

这是我的目录结构

$ tree
.
??? f
?   ??? foo
??? yo
Run Code Online (Sandbox Code Playgroud)

我想猫fooyo

我试过这个命令但没有用:

cat */*
Run Code Online (Sandbox Code Playgroud)

它只是catš foo

Raz*_*aza 48

尝试:

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

  • `+` 有什么用?我过去常常用`\;`来结束这些类型的命令。 (8认同)
  • `-exec foo {} \;` 是 `foo x; 富y; foo z;`,但是 `-exec foo {} +` 是 `foo xyz`。 (4认同)

小智 21

cat 接受多个参数,因此您可以:

  cat * */*
Run Code Online (Sandbox Code Playgroud)

对当前目录和所有子目录中的所有内容进行分类。你也可以

  cat * */* */*/*
Run Code Online (Sandbox Code Playgroud)

等等,如果你愿意。

请注意,当然,您的 shell 正在将这些 '*' 转换为文件列表,然后将整个列表传递给 cat。

  • 这不是一个有用的解决方案,因为您需要知道要深入多少层。 (3认同)