2015-10-07 53 views
-1

我需要關於bash shell的幫助 我希望使用info.txt實時更改snmptrap.txt中的內容,例如result.txt。如何更改txt文件實時

內容添加實時在線的snmptrap.txt結束,所以我想上的Result.txt添加更改內容

smtptrap.txt:

2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello1 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello2 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello3 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello4 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello5 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test1 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test3 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test4 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test5 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello1 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello2 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello3 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello4 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello5 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test1 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test2 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test3 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test4 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test5 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello1 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello2 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello3 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello4 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 hello5 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test1 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test2 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test3 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test4 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 10.1 test5 AAA05000 

我想改變匹配使用info.txt 信息.TXT:

100.300;AAA05056 
100.200;AAA05010 
100.100;AAA05000 

的Result.txt應該是這樣的:

2015/10/07 "General" 10.2 - ZBXTRAP 100.300 hello1 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 hello2 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 hello3 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 hello4 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 hello5 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 test1 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 test2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 test3 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 test4 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.300 test5 hello2 AAA05056 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 hello1 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 hello2 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 hello3 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 hello4 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 hello5 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 test1 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 test2 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 test3 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 test4 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.200 test5 AAA05010 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 hello1 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 hello2 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 hello3 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 hello4 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 hello5 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 test1 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 test2 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 test3 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 test4 AAA05000 
2015/10/07 "General" 10.2 - ZBXTRAP 100.100 test5 AAA05000 
+0

我想你換了AAA05000與AAA05056 – karakfa

回答

0

根據你的榜樣

$ awk -F"[; ]" 'NR==FNR{a[$2]=$1;next} $9 in a{$7=a[$9]}1' file2 file1  

將做的工作,但你的輸出不符合規定,請檢查映射。

捕獲輸入文件更新的一種方法是使用tail -f。例如。

$ awk ... file2 <(tail -f file1) >> output & 

將啓動一個後臺進程。您可以通過

$ tail -f output 
+0

謝謝。和內容添加snmptrap.txt實時行結束,所以我想在result.txt添加更改內容。你能幫助嗎? – ZXC

+0

實時什麼意思? – karakfa

+0

每秒添加內容新行結束snmptrap.txt文件。 – ZXC

0

該監控輸出更新可能爲你工作(GNU SED):

sed -r 's#^([^;]*);(.*)#/\2/s/\\S+/\1/6#' file2 | sed -rf - file1 

這些將第二個文件到被用於轉化的第一個文件sed腳本。

第二個文件的第二個字段用作查找,第二個文件的第一個字段用作第一個文件中第六個字段的替換。