sed打印所有匹配行行号 sed -n '/liu/=' aa
sed打印匹配内容 sed -n '/liu/p' aa
sed打印匹配内容和匹配行号 sed -n -e '/liu/=' -e '/liu/p' aa
sed打印最后一个匹配内容的一行 sed -n -e '/liu/=' -e '/liu/p' aa | tail -n1
重点语法:
sed中p 打印匹配行
= 打印匹配行号
-n 打印模式匹配的行
-e 命令行进行编辑
以下为实现的是匹配行到文件末尾的内容打印,有不对的命令请指正一下
匹配行到文件末尾:
num=`sed -n '/匹配内容/=' file | tail -n1` #得到匹配最后一行的行号,再使用以下命令打印 sed -n $num',$p' file
tac file | sed '/ccc/q' | tac
sed -n '/ccc/h;//!H;${g;p}' file
awk 'NR==FNR{if(/ccc/)p=FNR ;next} FNR>=p' file file
awk -vRS="" -vFS="ccc" '{print FS$NF}' urfile
awk '{s=s"\t"$0}END{gsub(".*ccc","ccc",s);gsub("\t","\n",s);print s}' aa
sed -z 's/.*\nccc\n/ccc\n/'
sed ':1;$q;N;/ccc/,$D;b1' file
不包含匹配行ccc
sed -n ':1;N;$!b1;s#.*\nccc#ccc#p' file
包含匹配行ccc
awk -vRS='ccc' 'END{print RS,$0}' urfile