これらのプログラムを実行するシェルスクリプトがあります
sudo swatchdog -c /home/pi/.swatchdogrc -t /var/log/snort/alert >> /home/pi/swatch/output/a.txt
次のようなa.txt出力があります...
*** swatchdog version 3.2.4 (pid:2139) started at Sun 05 Jan 2020 05:16:17 PM +07
192.168.2.198
57312
192.168.2.238
22
192.168.2.198
57314
192.168.2.238
*** swatchdog version 3.2.4 (pid:2139) started at Sun 05 Jan 2020 05:16:17 PM +07
この文章は出るたびに削除したいです。シェルスクリプトを作成するとどうなりますか? PS:私も試しました
cd swatch/output $ sudo swatchdog -c /home/pi/.swatcgdogrc -t /var/log/snort/alert | cut -c 82- > a.txt
しかし、何も印刷されません。
ありがとうございます。
ベストアンサー1
grep
grep
withオプションを使用すると、-v
指定されたキーワードを含む行を除いて入力を出力できます。マニュアルページから:
-v, --invert-match 一致しない行の選択
grep -v "keyword/pattern" file
# Pipeline
command | grep -v "keyword/pattern" > output
したがって、スクリプトは次のようになります。
sudo swatchdog -c /home/pi/.swatchdogrc -t /var/log/snort/alert | grep -v "swatchdog" >> /path/to/output.txt
アッ
以下を使用して同じ結果を得ることもできます。awk
awk '! /keyword/ {print}' file
# Pipeline
command | awk '! /keyword/ {print} > output
sudo swatchdog -c /home/pi/.swatchdogrc -t /var/log/snort/alert | awk '! /swatchdog/ {print}' >> /path/to/output.txt