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

dddzy1tm  于 2022-09-21  发布在  Unix
关注(0)|答案(4)|浏览(415)

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

CAT文件1文件2文件3

但是在一个目录中,如果有超过20个文件,我希望所有这些文件的内容都显示在屏幕上,而不是像上面那样通过提到所有文件的名称来使用cat命令。

我怎么能这样做呢?

ckocjqey

ckocjqey1#

您可以使用*字符匹配当前目录中的所有文件。
cat *将显示所有文件的内容。
如果想要仅显示扩展名为.txt的文件,可以使用cat *.txt,或者如果想要显示文件名以“file”开头的所有文件(如您的示例所示),可以使用cat file*

o8x7eapl

o8x7eapl2#

如果它只是一级子目录,则使用cat * */*

find . -type f -exec cat {} ;

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

lxkprmvk

lxkprmvk3#

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

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

它还将遍历所有子目录。

llmtgqce

llmtgqce4#

您也可以使用awk。让我们考虑一下,我们需要打印某个目录中的所有文本文件的内容

awk '{print}' some-directory/*.txt

相关问题