簡體   English   中英

沒有臨時文件的通訊

[英]comm without temporary files

我一直在嘗試編寫一個命令,該命令接受單個單詞的列表、排序、重復數據刪除、使用 comm 將條目與字典文件進行比較,最后輸出字典中沒有的內容。

我當前的迭代是:

sort | uniq > tmp; comm -23 tmp dictionary.txt

我正在從上面的鍵盤輸入,但理想情況下我想將它保存為 a.sh,這樣我就可以做到

sh code.sh < wordlist.txt

有什么方法可以在不創建該 tmp 文件的情況下完成相同的結果?

使用單個破折號作為從標准輸入讀取的文件名參數(即sort的輸出)。

sort -u | comm -23 - dictionary.txt

您可以使用進程替換

comm -23 <(sort -u wordlist.txt) dictionary.txt

一個超級方便的用例是在不復制任何內容的情況下比較其他兩個主機上的文件內容:

comm -23 <(ssh host1 cat /foo) <(ssh host2 cat /foo)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM