我正在编写一个用于 grep 的 shell 脚本$foo
然后计算出现的次数,然后运行命令。每次运行该命令时,该文件中都会减少一个 $foo 实例。不确定如何连续读取该文件并减少我设置的变量中的值。
$count= `grep -o $foo /some/file |wc -w`
until [ $count -eq 0 ]
do
some_command_that_deletes_foo_in_file
done
然而我意识到$count
在运行时设置一次并且不会更新。我想要的是$count
更新为当前计数/some/file
当脚本循环遍历 /some/file 时,直到有 0 个我正在查找的短语实例。不确定最好的方法是什么。
除非您有尚未向我们展示的附加代码,该代码取决于$count
,您实际上不需要计算出现次数;您只需要知道该字符串是否出现在文件中即可。为此,你可以写:
while grep -q -- "$foo" /some/file ; do
some_command_that_deletes_foo_in_file
done
(利用这样的事实grep
当找到值时返回成功,未找到时返回失败,并使用-q
标志以抑制其控制台输出)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)