首先准备一段文本:test01.txt
begin
how are you?
fine thank you,and you?
i am fine too.
end
^Bbegin
please give me the paper.
ok,here you are.
thank you
^Cend
注意这里的^B和^C属于ascii码形式,^B在16进制下是x02,^C在16进制下是x03.
题目一:截取以begin开头和end结尾的段落即:
begin
how are you?
fine thank you,and you?
i am fine too.
end
答案:sed -n '/^begin/,/^end/p' test01.txt
解释:-n 是Suppresses the default output,格式是sed -n ‘/开始行/,/结束行/p’ test01.txt,这里开始行定义为^begin表示以begin字符开始的行,结束行^end表示以end开始的行。然后截取中间部分。
题目二:截取以^Bbegin开始和^Cend结尾的段落即:
^Bbegin
please give me the paper.
ok,here you are.
thank you
^Cend
答案:sed -n '/^^Bbegin/,/^^Cend/p' test01.txt
解释:这里和上面答案的有点区别就是^B和^C