早教吧 育儿知识 作业答案 考试题库 百科 知识分享

sed匹配上一行求解查找“regexp”并将匹配行的上一行显示出来,但并不显示匹配行sed-n'/regexp/{g;1!p;};h'gh我都能理解,不太理解1!p这里指的是什么.1不是指文本第一行吗?在中括号里就有不同的

题目详情
sed匹配上一行求解
查找“regexp”并将匹配行的上一行显示出来,但并不显示匹配行 sed -n '/regexp/{g;1!p;};h'gh我都能理解,不太理解1!p这里指的是什么.1不是指文本第一行吗?在中括号里就有不同的含义?另如果我要同时显示匹配行,要如何更改?Thnx 4 ur attention!
▼优质解答
答案和解析
1!p 第一行取反不打印
$cat a.txt
a
b
regexp
c
$sed -n '/regexp/{x;p;x;p};h' a.txt
b
regexp