我有一個文件(maillog中)是這樣的:殼:從FILE1獲取一行內容FILE2
Feb 22 23:53:39 info postfix[102]: connect from APVLDPDF01[...
Feb 22 23:53:39 info postfix[101]: BA1D7805A1: client=APVLDPDF01[...
Feb 22 23:53:39 info postfix[103]: BA1D7805A1: message-id
Feb 22 23:53:39 info opendkim[139]: BA1D7805A1: DKIM-Signature field added
Feb 22 23:53:39 info postfix[763]: ED6F3805B9: to=<[email protected]>, relay...
Feb 22 23:53:39 info postfix[348]: ED6F3805B9: removed
Feb 22 23:53:39 info postfix[348]: BA1D7805A1: from=<[email protected]>,...
Feb 22 23:53:39 info postfix[102]: disconnect from APVLDPDF01...
Feb 22 23:53:39 info postfix[842]: 59AE0805B4: to=<[email protected]>,status=sent
Feb 22 23:53:39 info postfix[348]: 59AE0805B4: removed
Feb 22 23:53:41 info postfix[918]: BA1D7805A1: to=<[email protected]>, status=sent
Feb 22 23:53:41 info postfix[348]: BA1D7805A1: removed
和第二文件(mailids)是這樣的:
6DBDD8039F:
3B15BC803B:
BA1D7805A1:
2BD19803B4:
我想得到一個包含如下內容的輸出文件:
Feb 22 23:53:41 info postfix[918]: BA1D7805A1: to=<[email protected]>, status=sent
只是ID在第二個文件中存在的行,在本例中只是ID = BA1D7805A1:在文件一中。但是還有另一個條件,這條線必須是「ID = <」 這意味着只有包含「to = <」的行和文件2中的ID纔可以輸出。
我發現不同的解決方案,但我有一個關於性能的巨大問題。 maillog文件大小爲2GB,大約10萬行。 mailid文件大約有32000行。
這個過程需要太多時間,我從來沒有見過。 我試着用awk和grep命令,但我沒有找到最好的方法。
具體什麼你嘗試過這麼遠嗎? – Mark