我有一个文件,其中某些(不是全部)行如下所示:
Sequence: n
我希望替换n
为相应的行号。
我怎样才能用 sed 做到这一点?
答案1
这非常简单awk
(感谢@glenn jackman):
awk '/Sequence: n/ { $2 = NR } { print }' input-file
关于sed
,我只能通过两次详细阐述来做到这一点(用GNU sed
和 进行测试ssed
:):
sed '/^Sequence: n$/{s/n$//p;=;d;}' | sed '/^Sequence: $/{N;s/\n//;}'
第一个在“Sequence:”之后的行中插入行号,第二个将两行连接起来。