Board logo

标题: [文本处理] sed匹配的问题 [打印本页]

作者: netdzb    时间: 2020-9-19 16:04     标题: sed匹配的问题

文件内容是

1
2
3
4
5
6
7
8
9
10

我想打印5以后的后面3行内容,不包括5本身,该怎么写代码?

sed -n '/5/,+3p 文件名.txt

输出结果是
5
6
7
8
我想得到
6
7
8
代码应该怎么修改?
作者: Batcher    时间: 2020-9-19 21:57

回复 1# netdzb
  1. sed -n "/5/{N;N;N;s/^5\n//;p}" a.txt > b.txt
复制代码

作者: netdzb    时间: 2020-9-20 03:21

回复 2# Batcher

花括号的内容看不懂,能否解释一下,谢谢。
作者: Batcher    时间: 2020-9-20 08:33

回复 3# netdzb


N命令的解释:
http://www.gnu.org/software/sed/manual/sed.html#sed-commands-list

s命令的解释
http://www.gnu.org/software/sed/ ... _0022s_0022-Command
作者: netdzb    时间: 2020-9-20 14:01

回复 4# Batcher

连续跳过3个n,不是到8这个位置了。
s后面是把回车符号去掉吗?
作者: Batcher    时间: 2020-9-21 09:50

回复 5# netdzb


    是把 5\n 去掉




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2