Linux文本处理head、tail
目录
文本处理指令:head、tail。
- head 查看文件的开始部分。例如,
head -n 10 文件名
显示文件的前10行,。 - tail 查看文件的结束部分。例如,
tail -n 10 文件名
显示文件的最后10行。
查看文本开头_head
head命令是Linux和Unix系统中的一个非常实用的文本处理命令,主要用于查看文件的开头部分。
一、基本语法
head命令的基本语法如下:
|
|
- 选项:用于控制head命令的行为,如指定显示的行数、字节数等。
- 文件:指定要查看开头部分的文件名。可以指定一个或多个文件,多个文件之间用空格分隔。如果省略文件名,head命令将从标准输入读取数据。
二、常用选项
head命令提供了多种选项以满足不同的查看需求,以下是一些常用的选项:
- -n NUM 或 –lines=NUM:指定要显示的行数。NUM是一个正整数,表示要显示的行数。如果省略该选项,head默认显示文件的前10行。
- -c NUM 或 –bytes=NUM:指定要显示的字节数。NUM是一个正整数,表示要显示的字节数。这个选项允许用户按字节而不是按行来查看文件的开头部分。
- -q 或 –quiet 或 –silent:不显示文件名,只显示文件内容。当处理多个文件时,这个选项非常有用,因为它可以避免在输出中混入文件名。
- -v 或 –verbose:总是显示文件名头部信息。与-q选项相反,这个选项会在每个文件的输出内容前显示文件名。
- –help:显示head命令的帮助信息,包括所有可用的选项和简短的描述。
- –version:显示head命令的版本信息。
三、应用实例
以下是一些head命令的应用实例,展示了如何使用该命令查看文件的开头部分:
-
显示文件的前10行(默认行为):
1
head file.txt
这个命令将显示
file.txt
文件的前10行内容。 -
显示文件的前5行:
1
head -n 5 file.txt
或者
1
head --lines=5 file.txt
这两个命令都将显示
file.txt
文件的前5行内容。 -
显示文件的前100个字节:
1
head -c 100 file.txt
或者
1
head --bytes=100 file.txt
这两个命令都将显示
file.txt
文件的前100个字节内容。 -
显示多个文件的前几行,不显示文件名:
1
head -q file1.txt file2.txt
这个命令将依次显示
file1.txt
和file2.txt
文件的前10行内容,但不会显示文件名。 -
显示多个文件的前几行,并显示文件名:
1
head -v file1.txt file2.txt
或者,由于默认情况下处理多个文件时会显示文件名,因此也可以省略-v选项直接执行:
1
head file1.txt file2.txt
这两个命令都会在每个文件的输出内容前显示文件名。
四、注意事项
- 当指定的行数或字节数超过文件的实际行数或字节数时,head命令会显示文件的所有内容。
- head命令默认从文件的开头读取内容,并显示指定的行数或字节数。如果需要查看文件的尾部内容,可以使用tail命令。
- head命令可以与其他命令结合使用,例如通过管道符(|)将另一个命令的输出作为head的输入,或者使用重定向符(>)将head的输出保存到文件中。
查看文本结尾-Tail
tail
命令是在Unix和类Unix系统中广泛使用的一个命令行工具,用于输出文件的最后部分,默认情况下,它显示文件的最后10行。tail
命令非常有用,特别是在处理大型日志文件时,因为它允许用户快速查看文件的最新内容,而不需要滚动浏览整个文件。
基本用法
-
查看文件的最后10行:
1
tail filename
-
查看文件的最后N行:
1
tail -n N filename
-
实时追踪文件的新增内容:
1
tail -f filename
常用选项
-n
:指定要显示的行数。例如,tail -n 20 filename
会显示文件的最后20行。-f
:实时追踪文件的新增内容。这对于监视日志文件非常有用。--pid=PID
:与-f
结合使用,当指定的进程ID(PID)终止时,tail
命令也会停止。-q
:当多个文件名被指定时,抑制文件名的前缀输出。-v
:总是显示文件名,即使只有一个文件被指定。
示例
-
查看文件的最后25行:
1
tail -n 25 filename
-
实时追踪文件的新增内容:
1
tail -f /var/log/syslog
-
追踪多个文件的新增内容:
1
tail -f file1 file2
-
追踪文件的新增内容,并在特定进程结束时停止:
1
tail --pid=1234 -f /var/log/myapp.log