Xargs
為什麼 xargs 與 echo 一起使用,而不是 sort?
在 xargs 手冊頁有一個用法範例
cut -d: -f1 < /etc/passwd | sort | xargs echo
為什麼在這種情況下 echo 與 xargs 一起使用,而沒有排序,
甚至兩個命令都具有相似的語法,其中參數跟在命令後面?
|
將左側的輸出與右側的輸入連接起來。
echo
列印它的論點。它不會對發送到其輸入的數據做任何事情。因此,xargs
用於echo
與輸入一起呼叫。
sort
另一方面,它不會對它的參數進行排序,而是對它的輸入數據進行排序。因此,直接將輸入放入排序是有意義的。
(但是,
xargs echo
真的沒有任何意義。這實際上只是將輸出轉換sort
為參數,只是將它們轉換回輸出。不太確定這裡的意圖是什麼:cut -d: -f1 < /etc/passwd | sort
會起作用;好的,後面會有一個換行符每個使用者,但老實說,這不是 xargs 的工作,而是sed
or的工作awk
,它會直接在 /etc/passwd 上直接完成使用者想要的操作;但是,我很漂亮確保您對該命令行的敏感性不是很感興趣,更多的是為什麼 xargs 以這種方式使用。)