echo “Enter Number:”
read n1
awk '/^$/ {ca=""; cp=""} /^#/ {ca=ca " " $0} /^$n1/ && ca {cp=ca; ca=""} /^$n1/ {print $0 " " cp}’ FILENAME
输入数字后,我应该通过给定输入得到输出。
输入数字:1
输出
1测试快乐1234 980捕获
请建议我上面的脚本
答案 0 :(得分:0)
您需要使用awk的-v
选项传递shell变量:
awk -v patt="^$n1" '
/^$/ {ca=""; cp=""}
/^#/ {ca=ca " " $0}
$0 ~ patt && ca {cp=ca; ca=""}
$0 ~ patt {print $0 " " cp}
’ FILENAME