列出 UNIX 目录中所有文件的所有内容

列出 UNIX 目录中所有文件的所有内容

如何列出目录中的所有文件内容?

就像是ls -la | cat

答案1

使用以下命令,递归:

查找/路径/到/文件夹-type f-exec cat {} \;

非递归版本(由于大众的压力):

查找/路径/到/文件夹 -maxdepth 1 -type f -exec cat {} \;

答案2

以下命令:

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

将仅查找-type f当前文件夹 ( ) 中的文件 ( ) ./

Studer 的回答很好,排除目录是个好主意,因为它是 unices 之间未定义的行为,请阅读 grawity 的评论。以下是两种已知行为:

  • cat在 Linux 上尝试 cat 目录时会抛出一条错误消息cat: ./folder: Is a directory)。
  • cat在 FreeBSD 上将转储存储在磁盘上的原始目录。

如果您需要有关该命令的更多信息或更多有关它的内容,请回复,我会注释更多/帮助您。

編輯:如约翰·T指出,这个命令将要进入每个子目录。如果你只需要从当前目录中 cat 文件,则需要-maxdepth 1,从而得到:

find ./ -maxdepth 1 -type f -exec cat {} \;

-maxdepth n选项还可以用于将其限制为n子目录的数量,1 为当前目录,2 为当前目录及其直接后代,依此类推。

相关内容