Xargs
如果 xargs 在沒有任何參數的情況下使用,它會做什麼?
[user@notebook ~] echo -e '1\n2\n3\n4' 1 2 3 4 [user@notebook ~] echo -e '1\n2\n3\n4' | xargs 1 2 3 4 [user@notebook ~]
**我的問題:**如果 xargs 不帶參數使用,那麼它會刪除換行符嗎?
引用手冊頁:
xargs從標準輸入讀取項目,由空格(可以用雙引號或單引號或反斜杠保護)或換行符分隔,並執行命令(預設為
/bin/echo
)一次或多次,任何初始參數後跟從標準輸入。標準輸入上的空行被忽略。因為 Unix 文件名可以包含空格和換行符,所以這種預設行為通常是有問題的;包含空格和/或換行符的文件名被
xargs
. 在這些情況下,最好使用該-0
選項,以防止此類問題。使用此選項時,您需要確保生成輸入的程序xargs
也使用空字元作為分隔符。find
例如,如果該程序是 GNU ,則該-print0
選項會為您執行此操作。
沒有參數
xargs
預設回顯傳遞給它的參數。從手冊頁
本手冊頁記錄了 xargs 的 GNU 版本。xargs 從標準輸入讀取項目,由空格(可以用雙引號或單引號或反斜杠保護)或換行符分隔,並執行命令(預設為
/bin/echo
)一次或多次,任何初始參數後跟從標準輸入。標準輸入上的空行被忽略。請注意有關“…預設為
/bin/echo
…”的內容。刪除換行符?
這就是某種目的
xargs
。它需要一個參數列表,通常由空格和換行符分隔(可以由其他分隔符分隔),並將它們重新打包為單個參數,優化參數以使其適合 ARG_MAX 的空間值。