Linux文本处理head、tail

文本处理指令:head、tail。

  • head 查看文件的开始部分。例如,head -n 10 文件名 显示文件的前10行,。
  • tail 查看文件的结束部分。例如,tail -n 10 文件名 显示文件的最后10行。

查看文本开头_head

head命令是Linux和Unix系统中的一个非常实用的文本处理命令,主要用于查看文件的开头部分。

一、基本语法

head命令的基本语法如下:

1
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命令的应用实例,展示了如何使用该命令查看文件的开头部分:

  1. 显示文件的前10行(默认行为)

    1
    
    head file.txt

    这个命令将显示file.txt文件的前10行内容。

  2. 显示文件的前5行

    1
    
    head -n 5 file.txt

    或者

    1
    
    head --lines=5 file.txt

    这两个命令都将显示file.txt文件的前5行内容。

  3. 显示文件的前100个字节

    1
    
    head -c 100 file.txt

    或者

    1
    
    head --bytes=100 file.txt

    这两个命令都将显示file.txt文件的前100个字节内容。

  4. 显示多个文件的前几行,不显示文件名

    1
    
    head -q file1.txt file2.txt

    这个命令将依次显示file1.txtfile2.txt文件的前10行内容,但不会显示文件名。

  5. 显示多个文件的前几行,并显示文件名

    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:总是显示文件名,即使只有一个文件被指定。

示例

  1. 查看文件的最后25行

    1
    
    tail -n 25 filename
  2. 实时追踪文件的新增内容

    1
    
    tail -f /var/log/syslog
  3. 追踪多个文件的新增内容

    1
    
    tail -f file1 file2
  4. 追踪文件的新增内容,并在特定进程结束时停止

    1
    
    tail --pid=1234 -f /var/log/myapp.log