我有一个问题,我的字符串不是单个字符串;它是一个包含多个单词的字符串;其中使用 sed 效果很好;但不是 awk;
如何使用 awk 将所有字符串分组?我尝试用" "
、 with { }
、 with封装字符串( )
,但没有任何效果。这是我的 sed 与 awk 的示例:
sed -n '/show system | inc Software/,/sh syst | i @@@@@/p' filename.txt > out_file.txt
该行与 sed 完美配合;字符串是"show system | inc Software"
和"sh syst | inc @@@@@"
至于 awk 则不起作用。
awk '/show system | inc Software/,/sh syst | i @@@@@/' filename.txt > out_file.txt
输出文件不是我所期望的。我怎样才能使该字符串在该命令中工作?
答案1
如果您包含输入数据和预期输出数据,您的问题会更容易理解。
以下awk
命令将打印行“show system | inc Software' 和 'sh syst | i @@@@@' 以及中间的每一行:
awk '/show system \| inc Software/,/sh syst \| i @@@@@/{n=0}' filename.txt > out_file.txt
编辑:
另外,看起来你的sed
命令不起作用,(假设我已经理解你的问题)它应该是:
sed -n '/show system | inc Software/,/sh syst | i @@@@@/p' filename.txt > out_file.txt