问题描述
我有一个文件夹,里面有很多文件。我想显示以下内容:
filename_1
first line of file1
second line of file1
third line of file1
filename_2
first line of file2
second line of file2
third line of file2
filename_3
first line of file3
second line of file3
third line of file3
等等。我该怎么做?
最佳方案
您可以使用 head
命令来执行此操作,并使用带有每个文件的行数的 -n 参数,如下所示:
head -n3 *
或者
head -n3 *.txt
这也适用于单个文件:
head -n3 filename.txt
次佳方案
头
您可以将 head
与 -n
选项一起使用。
head -n 10 FILE
这将打印文件的前十行。
另一个有用的变体是 -n -NUMBER
。
head -n -10 FILE
这将打印文件中除最后十行之外的所有行。
要解决您的问题并获得所需的输出,您可以执行以下操作。
basename * && head -n NUMBER *
或者
basename *.FILETYPE && head -n NUMBER *.FILETYPE
这将为您提供以下输出:
FILENAME
LINE ONE
LINE TWO
LINE THREE
第三种方案
希望这会做你想做的事:
find . -print -exec head {} -n 3 \;
-print
将显示文件名,其余部分(来自 – exec
)将显示每个文件的前 3 行
根据您的需要更改数字…