Awk 如果正则表达式后的字段小于

Awk 如果正则表达式后的字段小于,awk,Awk,如果regex后面的字段小于150,我想打印文件名。这是我想出的密码。但是,输出没有产生任何结果 awk '{for(i=1;i<=NF;i++){ if($i=='price' && $(i+1) < 150){print FILENAME} } }" files* > filenames awk'{for(i=1;i您的命令中有一个输入错误(末尾缺少引号)。我确实这样更改了它: awk '{for(i=1;i<=NF;i++){ if($i=="pr

如果regex后面的字段小于150,我想打印文件名。这是我想出的密码。但是,输出没有产生任何结果

awk '{for(i=1;i<=NF;i++){ if($i=='price' && $(i+1) < 150){print FILENAME} } }" files* > filenames

awk'{for(i=1;i您的命令中有一个输入错误(末尾缺少引号)。我确实这样更改了它:

awk '{for(i=1;i<=NF;i++){ if($i=="price" && $(i+1) < 150){print FILENAME} } }' files* > filenames

awk'{for(i=1;它不是在正则表达式后查找字段,而是在字符串后查找字段。了解差异非常重要。发布一些示例输入和预期输出,我们可以帮助您。具体取决于“工作原理”意思是。这可能会修复OPs代码,但我可以想象各种输入集可能会产生不希望的结果(例如,
price
在一行中出现多次,或者
price
后面的字段可以是字符串,或者
price
后面有数千个字段,或者……)。直到OP向我们展示了至少几行样本输入和预期输出,并澄清了他的要求,谁知道呢?是的,确实是这样:“起始价格”-“价格实现”,所以现在我得到了正确的代码:awk'{for(I=1;I