Linux教程

linux 系统中输出文本开头至匹配特定字符的行

本文主要是介绍linux 系统中输出文本开头至匹配特定字符的行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

001、

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff
er ed ww
xx xx ee
er uy vv
root@PC1:/home/test2# sed -n '1,/xx/p' a.txt      ## 输出开头至匹配xx的行
aa dd ss
dd ff xv
ef 33 cc
xx ee ww

 

002、

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff
er ed ww
xx xx ee
er uy vv
root@PC1:/home/test2# sed -n '1,/ee$/p' a.txt    ## 匹配开头至以ee结尾的行
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff
er ed ww
xx xx ee

 

003、

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff
er ed ww
xx xx ee
er uy vv
root@PC1:/home/test2# sed -n '1, /^xx.*ff$/p' a.txt    ## 匹配开头至以xx开头同时以ff结尾的行
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff

 

004、

root@PC1:/home/test2# ls
a.txt
root@PC1:/home/test2# cat a.txt
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff
er ed ww
xx xx ee
er uy vv
root@PC1:/home/test2# awk 'BEGIN{idx = 0} {if(idx == 0) {print $0}; if($1 == "xx" && $3 == "ff") {idx++}}' a.txt  ## 匹配开头至第一行为xx同时第三行为ff的数据
aa dd ss
dd ff xv
ef 33 cc
xx ee ww
df ff zc
xx xx ff

 

这篇关于linux 系统中输出文本开头至匹配特定字符的行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!