Linux 用head tail sed 查看第N行到最后一行 | m,n行区间/固定行 | 前/后N行(以外)的内容 | 内容很全面,你会喜欢嘛?

问题描述

查看前N行,用head;

查看后N行,用tail;

查看行区间,指定行数的数据,貌似有点儿不知所措。what?nani?

查看,从第n行,到最后一行,好像很简单,but?我写不出来!!此处省略三个字……

实战案例

1.查看前N行数据

显示前10行数据

#head -n 10 /etc/passwd  方法一
#head -10 /etc/passwd  方法二

#cat /etc/passwd | head -n 10  方法三
#cat /etc/passwd | head -10  方法四

#sed -n ‘1,10p’ /etc/passwd 方法五

特别说明:
以上写法,表面不同,实质换汤不换药下面的方法不再据此延伸。变态组合最终达到效果的方法,不在此列,纯干货!

2.查看后N行数据

查看最后10行数据

#tail -n 10 /etc/passwd

3.查看前/后N行以外的数据(不知道数据总共有多少行)

1.查看除最后10行以外的所有数据

#head -n -10 /etc/passwd  方法一(注意10前面有个-号

解析,head -n 10,默认是查前10行;10前面添加“-”是取反的意思,此时的效果就是不取最后10行(也就是取除最后10行以外的所有数据)

2.查看从第10行到最后一行数据

 #tail -n  +10 /etc/passwd  方法一(注意10前面有个+号)  

解析,tail -n 10,本是查最后10行,前面带个+,就取反了,查的是除了最后10行以外的所有行。 

本案例中,如果10前面如果没有+,​​​​​​​结果就天壤之别。 

4.查看n,m行区间的数据

查看第5行到第10行

#sed -n ‘5,10p’  /etc/passwd  方法一(比较简便)

#head -n 10 /etc/passwd | tail -5  方法二(前head取前10行,然后再取这10行中的后5行)

5.查看指定行,仅此一行的数据

仅查看第5行

#sed -n ‘5,5p’  /etc/passwd  方法一

#head -n 5 num.txt | tail -n 1 方法二(先取前五行,然后再从尾部拿一行出来)

尾言 

解决方法有多种,先汇集常用的,后续有将逐步更新,希望对你有所帮助!

    原文作者:血煞长虹
    原文地址: https://blog.csdn.net/xp871038951/article/details/121353871
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞