尝试使用 awk 命令来实现此规则:如果行不以“O|”开头 或“A|” 或“S|” 我想删除前一行的新行
我在输入中有这个文件(input.txt)
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
我想要这个输出
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
执行这段代码
awk '/^O\|/ || /^A\|/ || /^S\|/ {printf "%s", $0; next} 1 {print}' input.txt > output.txt
它返回
O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?