系统相关
首页 > 系统相关> > 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

 

标签:字符,test2,ee,dd,ww,xx,ff,linux,文本
来源: https://www.cnblogs.com/liujiaxin2018/p/16545533.html