完全显示目录中的所有文件 --- 但它们之间有一些间距

完全显示目录中的所有文件 --- 但它们之间有一些间距

在带有 Bash 3.2.52 的 CentOS 中,我希望完全显示当前目录中的所有文件:

cat *

所有文件的输出都在显示,但它们完全是并置的一个对另一个...

我缺少一些装饰性的间距,这样可以方便理解哪个文件从哪里开始。

反而:

file-output_1
file-output_2

我想说:

file_output_1

file_output_2

我如何改进 cat 和 shell glob 命令,以便每个文件输出(也许除了最后一个)下面都有一些空格,比如 1 或 2 个空行)?

答案1

如果您不介意获取文件名标头以及间距,那么至少可以使用head/的 GNU Coreutils 实现tail

tail -n +1 *

或者

head -n -0 *

答案2

您可以使用该more命令而不是cat.例如:

$ touch file{01..05}
$ for i in {01..05};do echo string$i > file$i;done

$ ll
total 40
-rw-rw-r-- 1 vagrant vagrant 9 Sep  6 20:38 file01
-rw-rw-r-- 1 vagrant vagrant 9 Sep  6 20:38 file02
-rw-rw-r-- 1 vagrant vagrant 9 Sep  6 20:38 file03
-rw-rw-r-- 1 vagrant vagrant 9 Sep  6 20:38 file04
-rw-rw-r-- 1 vagrant vagrant 9 Sep  6 20:38 file05

现在使用more

$ more file*
::::::::::::::
file01
::::::::::::::
string1
::::::::::::::
file02
::::::::::::::
string2
::::::::::::::
file03
::::::::::::::
string3
::::::::::::::
file04
::::::::::::::
string4
::::::::::::::
file05
::::::::::::::
string5

相关内容