2017-09-25 53 views
0

我想在一箇中添加多個尾巴腳本。Linux:尾巴-f多個選項

第一招:

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

我要添加5條線路用不同勢的話,這可能嗎?

else if if if等

謝謝!

+0

您可以添加日誌文件內容和您期望的輸出的示例嗎? –

+1

你不能只使用或在你的grepped文本,所以grep -E「example1 | example2」 –

回答

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

感謝您的腳本,我想呼應不同的事情。如果文本= X然後回顯X等 – user3130478

1

你的情況,這足以使用邏輯AND操作:

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

感謝您的腳本,我想呼應不同的事情。如果text = X,那麼回顯X等等。 – user3130478

+0

@ user3130478,你的情況是什麼'X'? – RomanPerekhrest

+0

我想檢查日誌文件中是否有單詞,如果單詞退出必須回顯某些內容。 – user3130478

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" 

如果你想猛砸具體,您可以使用閱讀-u選項,然後你就可以RM命名在循環開始之前,更確保在完成後保持乾淨。