Shell

使用 wc 管道標準輸出到文件

  • September 23, 2015

我正在為一堂課做實驗作業,例如users | wc -w顯示目前登錄的使用者數量。講師要求我們將輸出寫入users文件 ( users > file),同時仍顯示計數。我最初的想法是將原始範例更改為簡單地讀取users > file | wc -w,但我收到錯誤:

ambiguous output redirect

我們學院的 Unix 實驗室讓我們工作,預設情況下tcsh,我知道 shell 之間的命令可能不同。有沒有可以完成我完全忘記的命令?

使用tee

users | tee file | wc -w

給出使用者數量作為輸出,並將使用者作為內容寫入文件。


您的問題中的情況

command >file | command2

這行不通。隨著>file您將輸出重定向command到文件file,同時輸出被寫入匿名管道,命令command2在另一端讀取。這是一個模棱兩可的重定向。

tee命令將接受一個file作為參數,其中tee寫入從其標準輸入收到的所有內容。tee還將從標準輸入寫入其標準輸出的所有內容,您可以在其中重定向到更多命令或文件。

引用自:https://unix.stackexchange.com/questions/231617