Linux技巧(四):用head tail sed 查看第N行到最后一行 |
您所在的位置:网站首页 › 日志最后一行命令 › Linux技巧(四):用head tail sed 查看第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 +11 /etc/passwd 方法一(注意,10前面有个+号) 解析,tail -n 10,本是查最后10行,前面带个+,就取反了,查的是除了最后11-1行以外的所有行。 特别注意:这里的+11,不是剔除前11行,实际情况仅仅剔除前11-1=10行,也就是说(要想剔除前10行,这里要写11) tail -n +0 num.txt tail -n +1 num.txt 效果是一样的,因为 0-0=0,1-1 =0; 本案例中,如果数字N,前面如果没有+,结果就天壤之别。 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 方法二(先取前五行,然后再从尾部拿一行出来) 尾言解决方法有多种,先汇集常用的,后续有将逐步更新,希望对你有所帮助! 如果你觉得还不错,赶快点赞收藏吧! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |