shell--输出指定行 多种方法详细说明

本文介绍了四种常见的IT文本处理命令:head用于查看文件开头,tail查看文件尾部,awk处理文本文件,sed进行文本编辑和替换。详细讲解了每个命令的参数和示例应用。
摘要由CSDN通过智能技术生成

输出指定行的四种方法 (后两种较难,使用次数较少)

1、head

2、tail

 3、awk

4、sed 


1、head

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

命令格式:

head [参数] [文件]  

参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数。
  • -n<行数> 显示的行数。
#要显示 runoob_notes.log 文件的开头 10 行,请输入以下命令:
head runoob_notes.log
 
#显示 notes.log 文件的开头 5 行,请输入以下命令:
head -n 5 runoob_notes.log
 
#显示文件前 20 个字节:
head -c 20 runoob_notes.log

2、tail

tail 命令可用于查看文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]  

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
编号功能命令
1显示文件最后10行(默认10行)tail xxx1.txt
2显示文件最后3行tail -n 3 xxx1.txt
3显示文件除了前三行的所有行tail -n +3 xxx1.txt
4显示文件最后3个字节tail -c 3 xxx1.txt
5显示文件除了前3个字节的所有字节tail -c +3 xxx1.txt
6不显示文件名(默认就不显示)tail -q xxx1.txt
7显示文件名tail -v xxx1.txt
8显示多个文件的后5行内容tail -n 5 xxx1.txt xxx2.txt
9实时监控文件最后5行内容tail -f -n 5 xxx1.txt
10每隔3秒更新文件最后5行的内容tail -f -s 3 -n 5 xxx1.txt
11某个pid为$(PID)的进程结束后,停止刷新文件内容tail -f --pid $(PID) -n 3 xxx1.txt

 3、awk

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

NR已经读出的记录数,就是行号,从1开始
FNR各文件分别计数的行号
awk NR==9 file.txt

awk FNR==9 file.txt

4、sed 

Linux sed 命令是利用脚本来处理文本文件。

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

语法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

参数说明

  • -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
  • -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  • -h或--help 显示帮助。
  • -n或--quiet或--silent 仅显示script处理后的结果。
  • -V或--version 显示版本信息。

动作说明

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!
sed -n '9p' file.txt 

sed -n '9,10p' file.txt 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuhao_

谢谢你打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值