bash – 如何在shell程序中grep变量?
发布时间:2020-12-15 21:56:08 所属栏目:安全 来源:网络整理
导读:参见英文答案 grep for expression containing variable????????????????????????????????????1个 #!/bin/bashfor ((var=0; var20; var++))doecho " Number is: $(grep 'Multiple_Frame = echo **$var**' 20mrf.txt | wc -l)" statisic.txt done 这个shell程
参见英文答案 >
grep for expression containing variable????????????????????????????????????1个
#!/bin/bash for ((var=0; var<20; var++)) do echo " Number is: $(grep 'Multiple_Frame = echo **$var**' 20mrf.txt | wc -l)" >>statisic.txt done 这个shell程序无法产生正确的结果,这可能是第二个grep命令中返回错误的原因. 如何在第二个echo句子中grep变量?根据var变化来改变不同的东西? 非常感谢! 解决方法
正如其他人所说的那样,问题是单引号会阻止变量的扩展.但是,使用$()允许您使用双引号:
echo " Number is: $(grep "Multiple_Frame = echo **$var**" 20mrf.txt | wc -l)" >>statisic.txt 虽然我怀疑这样的事情是你的意思: echo " Number is: $(grep "Multiple_Frame = $var" 20mrf.txt | wc -l)" >>statisic.txt 您还应该知道grep有一个输出计数的选项,因此您可以省略wc: echo " Number is: $(grep -c "Multiple_Frame = $var" 20mrf.txt)" >>statisic.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |