GNU/Linux >> Linux の 問題 >  >> Linux

xargs -L では正しいフォーマットが生成されるのに、xargs -n では生成されないのはなぜですか?

-L 行ごとに分割します。 echo 出力を行ではなくスペースで区切るため、単一の ls -l が実行され、すべての列がグループとしてフォーマットされます。

-n パラメータで分割します。 -L がない場合 または -0 、セパレーターは空白 (引用符で変更される可能性があります) であるため、各ファイル名は独自の ls -l を取得します 実行され、独立した実行が列幅を調整する方法はありません。


POSIX 標準の義務:

<ブロック引用>

-L

ユーティリティは、空でない number ごとに実行されます。 ライン 標準入力からの引数の。 utility の最後の呼び出しは、残っている引数が number よりも少ない場合、より少ない行の引数で行われます。 ライン 行の最後の文字が <blank> でない限り、最初の文字で終わると見なされます;末尾の <blank> 次の空でない行への継続を合図します。

-n

できるだけ多くの標準入力引数を使用してユーティリティを呼び出します 可能な限り まで (正の 10 進整数) 引数の最大。

(強調追加) echo * 以降 xargs -L 1 という 1 行を生成します。 すべてのファイル名を ls にフィードするだけです ls できるのはそのときだけです 列をきれいに揃えてください。

(つまり、最初のコマンドは ls -l index.html* と同等です ただし、空白を含むファイル名は正しく処理されません。)


Linux
  1. ファイルをペンドライブにコピーしているときにPCがフリーズするのはなぜですか?

  2. Bashrcが現在のシェルがインタラクティブであるかどうかをチェックするのはなぜですか?

  3. `md5sum`がインターネットと同じハッシュを与えないのはなぜですか?

  1. Vlcを使用しているときに、スクリーンセーバーが起動し続けるのはなぜですか?

  2. なぜ誰もTrueBourneShellを/bin/ shとして使用しないのですか?

  3. C プリプロセッサが linux という単語を定数 1 と解釈するのはなぜですか?

  1. Linuxで「sshpass」がファイル転送を自動化する正しい方法ではない理由

  2. 正規表現がXで機能するのに、Yでは機能しないのはなぜですか?

  3. net rpc shutdown が正しい資格情報で失敗するのはなぜですか?