「xargs」の場合、「-L1」と「-n 1」は同じですか?

「xargs」の場合、「-L1」と「-n 1」は同じですか?

~から安全にファイルの検索と削除

locate  -i nohup.out | xargs -d '\n' -L1 -p rm

Locate 出力の各行は xargs の引数として処理されるので と ?同じ-L1です。-n 1

ベストアンサー1

マニュアルから:

-L max-linesコマンドライン
ごとの最大max-linesスペース以外の入力行を使用します。末尾の空白のため、入力行は論理的に次の入力行に続きます。 -x を意味します。

-n max-args
コマンドラインごとに最大 max-args 個の引数を使用します。サイズを超えると(-sオプションを参照)、-xオプションが指定されていない限り、max-argsよりも少ない引数が使用されます。この場合、xargsは終了します。

-d delim
エントリは指定された文字で終了します。 [...]

これと私の理解に基づいて、あなたの場合、渡された引数で区切り-L1文字を空白から(改行)に変更して-n1同等にします。1\n-d

たとえば、-d引数がない場合、位置出力にスペースが含まれている場合、行は2つの引数に分割されるため、rm withの2つの異なる用途が使用されますが、-n1まだ1つの引数と1つのコマンドとして扱われます。-L1

おすすめ記事