我正在编写一个 shell 脚本来对不断增长的日志文件进行“尾部”处理。此脚本接受要搜索的参数,并在其上逐步 greps 输出。
例如,如果按如下方式调用脚本:
logs.sh string1 string2
它应该转化为:
tail -f logs.txt | grep string1 | grep string2
我正在构建这样的 grep 字符串列表:
full_grep_string=""
for grep_string in $*
do
full_grep_string="$full_grep_string | grep $grep_string"
done
字符串是正确构建的,但是当我尝试最终将它标记到 tail 命令时,就像这样......
tail -f $LOG_FILE_PATH $full_grep_string
... grep 不适用,我得到未过滤的日志。
我在这里错过了什么吗?或者有没有更简单的方法来做到这一点?