我输出为:
A: this thing
B: that thing
A: 23
B: 46
A: negative
B: positive
我使用sed / awk创建。我怎样才能使用sed(我认为sed是正确的选择?)在每个B:
行之后添加换行符来产生:
A: this thing
B: that thing
A: 23
B: 46
A: negative
B: positive
答案 0 :(得分:2)
使用awk你可以这样做:
awk '{print} /^B:/{print ""}' file
A: this thing
B: that thing
A: 23
B: 46
A: negative
B: positive
答案 1 :(得分:2)
sed '/^B:/a\
' file
a
命令追加匹配行后面的内容。
您还可以执行's/^B:.*/&\n/'
之类的操作,编辑该行并添加换行符。
在awk
中也很容易处理。
答案 2 :(得分:2)
使用GNU sed
(使用G
选项附加保留空间(默认为空)以模式空间):
sed '/^B:/G' file
A: this thing
B: that thing
A: 23
B: 46
A: negative
B: positive
答案 3 :(得分:1)
答案 4 :(得分:1)
尝试这样的事情:
sed -E -i 's:(^B.*$):\1\n:g' filename
它会在filename
中以字母B开头的每一行附加一个新行。
答案 5 :(得分:0)
这是另一个awk
awk '/^B:/ {$0=$0"\n"} 1' file
A: this thing
B: that thing
A: 23
B: 46
A: negative
B: positive