使用CAT命令,我们可以在屏幕上显示多个文件的内容
CAT文件1文件2文件3
但是在一个目录中,如果有超过20个文件,我希望所有这些文件的内容都显示在屏幕上,而不是像上面那样通过提到所有文件的名称来使用cat命令。
我怎么能这样做呢?
ckocjqey1#
您可以使用*字符匹配当前目录中的所有文件。cat *将显示所有文件的内容。如果想要仅显示扩展名为.txt的文件,可以使用cat *.txt,或者如果想要显示文件名以“file”开头的所有文件(如您的示例所示),可以使用cat file*
*
cat *
cat *.txt
cat file*
o8x7eapl2#
如果它只是一级子目录,则使用cat * */*,
cat * */*
find . -type f -exec cat {} ;
这意味着运行find命令,以搜索当前目录(.)适用于所有普通文件(-type f)。对于找到的每个文件,运行应用程序(-exec)cat,并将当前文件名作为参数({}是文件名的占位符)。转义的分号是终止-exec子句所必需的。
find
lxkprmvk3#
我还发现在打印每个文件的内容之前打印文件名很有用:
find ./ -type f | xargs tail -n +1
它还将遍历所有子目录。
llmtgqce4#
您也可以使用awk。让我们考虑一下,我们需要打印某个目录中的所有文本文件的内容
awk
awk '{print}' some-directory/*.txt
4条答案
按热度按时间ckocjqey1#
您可以使用
*
字符匹配当前目录中的所有文件。cat *
将显示所有文件的内容。如果想要仅显示扩展名为.txt的文件,可以使用
cat *.txt
,或者如果想要显示文件名以“file”开头的所有文件(如您的示例所示),可以使用cat file*
o8x7eapl2#
如果它只是一级子目录,则使用
cat * */*
,这意味着运行
find
命令,以搜索当前目录(.)适用于所有普通文件(-type f)。对于找到的每个文件,运行应用程序(-exec)cat,并将当前文件名作为参数({}是文件名的占位符)。转义的分号是终止-exec子句所必需的。lxkprmvk3#
我还发现在打印每个文件的内容之前打印文件名很有用:
它还将遍历所有子目录。
llmtgqce4#
您也可以使用
awk
。让我们考虑一下,我们需要打印某个目录中的所有文本文件的内容