awk 中 對於tail f 的檔案重定向

2021-08-26 21:22:49 字數 502 閱讀 6734

先看一下如下兩個命令:

tail -f in | awk ''    

如果我們不斷的往 in 中輸入,結果是可以輸出來的。 

第二條命令  

awk  『』  in >> out

是可以把 in中的內容  列印到 out中的

第三條命令  把如下兩個命令結合起來,就不好使了 

tail -f in | awk '' >> out        不好使

tail  in | awk '' >> out          好使

out中什麼也沒有, 好像被阻塞了一樣, 後來查了原因 往檔案中寫  跟往終端上輸出是不一樣的,往檔案中寫,是先寫到pipe的緩衝區中, 然後再往檔案中寫,用了 tail -f 之後表示乙個流還沒有完成, 緩衝區不會自動寫, 所以out中一直沒有內容。

正確的寫法是  tail -f in | awk '' >> out

這樣就完美的寫出了對乙個流式的 awk 的處理 並將處理的結果儲存到乙個檔案中。

檔案中的awk 命令

如果awk命令 被寫在檔案裡,就要用 f選項指定awk的檔名,後面再加上所要處理的輸入檔案的檔名。awk從緩衝區讀入一條記錄,接著測試awk檔案中的每一條命令,然後對讀入的記錄執行命令。處理完第一條記錄後,awk將其丟棄,接著將下一條記錄讀入緩衝區,依次處理所有記錄。如果沒有模式限制,預設的操作就是...

Python中對於列表元素進行去重

list1 a a a b b c d d f 先將list1轉化為set集合去重,再將集合轉化為列表 list1 list set list1 print list1 在考慮順序性的前提下可以用list set list1 這種方法直接去重 順序亂了,記憶體位址也改變了。list2 a a a b...

Perl中對於檔案檢測的選項,備忘

檢測選項含義 r 檔案或目錄對此 有效的 使用者 effective user 或組是可讀的 w 檔案或目錄對此 有效的 使用者或組是可寫的 x 檔案或目錄對此 有效的 使用者或組是可執行的 o 檔案或目錄由本 有效的 使用者所有 r 檔案或目錄對此使用者 real user 或組是可讀的 w 檔案...