Xargs
“尾隨空格導致輸入行在下一個輸入行邏輯上繼續”是什麼意思?
從手冊
xargs
:-L max-lines
每個命令行最多使用 max-lines 非空白輸入行。**尾隨空白導致輸入行在下一個輸入行邏輯上繼續。**暗示-x。
“尾隨空格導致輸入行在下一個輸入行邏輯上繼續”是什麼意思?你能通過一些例子來展示它嗎?謝謝。
手冊的意思是,輸入行末尾的尾隨空格將導致
xargs
將其視為下一行的一部分 - 有效地轉義換行符。考慮以下命令執行:user@host~:$ (echo "line1"; echo "line2") | xargs -L 1 echo line1 line2
因為有
-L 1
選項,每一行輸入都是分開處理的,所以我們得到兩行輸出。現在將其與以下範例進行比較,其中輸入的第一行包含一個尾隨空格:user@host~:$ (echo "line1 "; echo "line2") | xargs -L 1 echo line1 line2
請注意,這兩行被視為單行輸入
xargs
。還值得注意的是(根據評論)該
-L max-lines
選項是 XSI 擴展(參見Open Group 網站上的xargs
手冊頁)。這也稱為 X/Open 系統介面擴展 -單一 UNIX 規範 (SUS)的補充規範。有關 POSIX、SUS 和 XSI 之間差異的更多資訊,請參閱以下文章:
或者查閱Open Group Base Specifications的Base Definitions Volume中的一致性部分。