Linux:Tail -f多个选项

时间:2017-09-25 12:26:18

标签: linux bash shell logging tail

我想在一个中添加多个尾部脚本。

第一个:

tail -f /var/script/log/script-log.txt | if grep -q "Text1"; then echo "0:$?:AAC32 ONLINE"
fi

我想添加5行不同的单词,这可能吗?

否则if,if等等。

谢谢!

3 个答案:

答案 0 :(得分:1)

tail -f /var/script/log/script-log.txt | if grep -E "Text1|Text2|Text3"; then echo "0:$?:AAC32 ONLINE" fi

答案 1 :(得分:1)

在您的情况下,使用逻辑AND运算符就足够了:

tail -f /var/script/log/script-log.txt | grep -q "text1\|text2\|text3" && echo "0:$?:AAC32 ONLINE"

答案 2 :(得分:0)

#!/bin/sh

PIPENAME="`mktemp -u "/tmp/something-XXXXXX"`"
mkfifo -m 600 "$PIPENAME"
tail -f /tmp/log.txt >"$PIPENAME" &

while read line < "$PIPENAME"
do
    echo $line # Whatever you want goes here
done

rm -f "$PIPENAME"

如果你想要特定的Bash,你可以使用-u选项进行读取,然后你可以在循环开始之前使用命名管道,这样可以保证在你完成后保持清洁。< / p>