bash:使用gawk在包含模式的行之后插入多行

bash:使用gawk在包含模式的行之后插入多行,bash,awk,gawk,Bash,Awk,Gawk,我在网上发了一个问题 如何在包含图案的一行之后插入多行?将您的打印像awk{print$0;print 222;print 223;print 224}一样串在一起 或使用换行符: awk'{print$0\n这是一行\n这是第二行\n这是第三行}我将nm1从222修改为222\\n333以一次添加多行命令来自原始帖子的答案 awk '1; $1==nm2 && !a++ {print nm1}' nm1=222\\n333 nm2=22 file 输出: 11 22 222

我在网上发了一个问题


如何在包含图案的一行之后插入多行?

将您的打印像awk{print$0;print 222;print 223;print 224}一样串在一起

或使用换行符:

awk'{print$0\n这是一行\n这是第二行\n这是第三行}

我将nm1从222修改为222\\n333以一次添加多行命令来自原始帖子的答案

awk '1; $1==nm2 && !a++ {print nm1}' nm1=222\\n333 nm2=22 file
输出:

11
22
222
333
33
11
22
33

好吧,使用相同的解决方案,但打印包含多行的字符串或使用多个打印语句…我不敢相信这个绝对最小的问题已经有两个答案了!如果ORS设置为默认值,则读取。或awk“开始{打印行1或打印行2或打印行3}”。