在awk中使用shell变量

upo*_*pog 2 bash shell scripting awk sh

我是新手awk,需要一些帮助

这很有效

awk '{
for(i =0;i<10;i++){
if ($27 == 'addr1') {
    print >"temp.csv"
     }
    }
}' /tmp/input.csv
Run Code Online (Sandbox Code Playgroud)

我在下面试过并且不工作,如何将计数值从外部传递给awk命令

count=10
echo $count
awk '{
for(i =0;i<count;i++){
if ($27 == 'addr1') {
    print >"temp.csv"
     }
    }
}' /tmp/input.csv
Run Code Online (Sandbox Code Playgroud)

che*_*ner 5

使用该-v选项在里面设置变量awk:

awk -v count="$count" '...'
Run Code Online (Sandbox Code Playgroud)

表单的"文件名"参数X=Y也被解释为变量赋值.以下应该有效:

awk '...' count="$count" /tmp/input.csv
Run Code Online (Sandbox Code Playgroud)