「末尾の空白のため、入力行は論理的に次の入力行に続く」とはどういう意味ですか?

「末尾の空白のため、入力行は論理的に次の入力行に続く」とはどういう意味ですか?

マニュアルからxargs

-L max-lines 

コマンドラインごとに空でない入力行を最大行まで使用してください。末尾の空白のため、入力行は論理的に次の入力行に続きます。-x を意味します。

「末尾の空白のため、入力行は論理的に次の入力行に続く」とはどういう意味ですか?いくつかの例を挙げることができますか?ありがとうございます。

からhttps://unix.stackexchange.com/a/448294/674

ベストアンサー1

マニュアルによると、入力行の末尾に末尾の空白がある場合は、次の行のxargs一部として処理され、改行文字を効果的にエスケープするようになるということです。次のコマンドの実行を検討してください。

user@host~:$ (echo "line1"; echo "line2") | xargs -L 1 echo
line1
line2

このオプションにより、-L 1各入力行が別々に処理されるため、2 行の出力が生成されます。次に、入力の最初の行に末尾のスペースを含む次の例と比較してみましょう。

user@host~:$ (echo "line1 "; echo "line2") | xargs -L 1 echo
line1 line2

これらの2行は単一の入力行として扱われますxargs


-L max-linesまた、このオプションがXSI拡張であることも注目に値します(コメントごと)。xargsOpen Groupウェブサイトのマニュアルページ)。これはX / Open Systemsインターフェイス拡張 - 追加仕様とも呼ばれます。シングルUNIX仕様(SUS)

POSIX、SUS、XSIの違いについて詳しくは、次の記事をご覧ください。

または相談一貫性部分~から基本定義ボリューム~のオープングループ基本仕様

おすすめ記事