mar*_*ark 2 scripting sed shell-script
我有一个文件,其中某些(不是所有)行看起来像这样:
Sequence: n
Run Code Online (Sandbox Code Playgroud)
我想n
用相应的行号替换。
我怎样才能用 sed 做到这一点?
这很简单awk
(感谢@glenn jackman):
awk '/Sequence: n/ { $2 = NR } { print }' input-file
Run Code Online (Sandbox Code Playgroud)
关于sed
,我只能通过两次详细说明来做到这一点(用GNU sed
和ssed
:)测试:
sed '/^Sequence: n$/{s/n$//p;=;d;}' | sed '/^Sequence: $/{N;s/\n//;}'
Run Code Online (Sandbox Code Playgroud)
第一个在“Sequence:”之后的行中插入行号,第二个连接两行。