我有以下脚本
#!/bin/bash
file="path/to/file"
/usr/bin/awk '/chapter:/ {f=0} /chapter: 25/ {f=1} f' $file
如何使用变量的值代替25
?
类似的东西:
#!/bin/bash
file="path/to/file"
num=25
/usr/bin/awk '/chapter:/ {f=0} /chapter: <num>/ {f=1} f' $file
P.S。
/usr/bin/awk -v n="$num" '/chapter:/ {f=0} /chapter: n/ {f=1} f' $file
无效awk
是我想做的最快的工具任何想法?
答案 0 :(得分:4)
你在这里正确的轨道,但是建立正则表达式的第二部分。您可以使用:
awk -v n="$num" '/chapter:/{f=0} $0 ~ "chapter: " n {f=1} f' file
您需要使用变量n
构建正则表达式,并使用~
运算符进行正则表达式匹配。