显示文件的前几行

显示文件的前几行

我有一个文件夹,里面有很多文件。我想显示以下内容:

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

等等。我怎样才能做到这一点?

答案1

您可以使用head命令来执行此操作,并使用 -n 参数指定每个文件的行数,如下所示:

head -n3 *

或者

head -n3 *.txt

这也适用于单个文件:

head -n3 filename.txt

答案2

您可以使用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

答案3

希望这能实现您的愿望:

find . -print -exec head {} -n 3 \;

-print将显示文件名,其余部分(从 - 开始exec)将显示每个文件的前 3 行

根据您的需要更改数字...

答案4

要将文件名添加到 head 输出,请使用“head -v”。因此,“head -vn 3 *.html”给出:

# head -vn 3 *.html
==> WebInfo.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> convert.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> misc.html <==
<html>
<head>
<title>WIP</title>

相关内容