2011-10-19 44 views

回答

1

我maneged得到它的工作,用双引号

patt=${1} 
awk -v rows=${2} "NR==p {print} /${patt}/ {p=NR+rows}" $3 
0

没有什么特别之处,即包含AWK程序字符串的,所以你可以在shell建立它像往常一样,例如:

awk -v rows=${2}'NR==p {print} /'"$1"'/ {p=NR+rows}' 
5

使用awk的匹配运算,而不是斜线:

awk -v patt=${1} -v rows=${2} 'NR==p {print} $0 ~ patt {p=NR+rows}'