マニュアルからxargs
:
-L max-lines
コマンドラインごとに空でない入力行を最大行まで使用してください。末尾の空白のため、入力行は論理的に次の入力行に続きます。-x を意味します。
「末尾の空白のため、入力行は論理的に次の入力行に続く」とはどういう意味ですか?いくつかの例を挙げることができますか?ありがとうございます。
答え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拡張であることも注目に値します(コメントごと)。xargs
Open Groupウェブサイトのマニュアルページ)。これはX / Open Systemsインターフェイス拡張 - 追加仕様とも呼ばれます。シングルUNIX仕様(SUS)。
POSIX、SUS、XSIの違いについて詳しくは、次の記事をご覧ください。
または相談一貫性部分~から基本定義ボリューム~のオープングループ基本仕様。