GNU/Linux >> Znalost Linux >  >> Linux

Proč xargs -L poskytuje správný formát, zatímco xargs -n ne?

-L dělení po čarách; echo svůj výstup neodděluje řádky, ale mezerami, takže jeden ls -l je spuštěn a tím se všechny sloupce naformátují jako skupina.

-n rozdělení podle parametrů; v nepřítomnosti -L nebo -0 , oddělovačem jsou mezery (případně upraveny uvozovkami), takže každý název souboru má svůj vlastní ls -l spustit a neexistuje způsob, jak by nezávislé běhy koordinovaly šířky sloupců.


Nařízení standardu POSIX:

-L číslo

Obslužný program se provede pro každý number, který není prázdný čáry argumentů ze standardního vstupu. Poslední vyvolání obslužného programu bude s méně řádky argumentů, pokud jich zbývá méně než počet. čára má se za to, že končí prvním, pokud poslední znak řádku není <blank>; koncové <blank> signalizuje pokračování na další neprázdný řádek včetně.

-n číslo

Vyvolejte nástroj pomocí tolika standardních vstupních argumentů pokud možno až do čísla (kladné dekadické celé číslo) argumenty maximum.

(Zdůraznění přidáno.) Od echo * vytvoří jeden řádek, xargs -L 1 pouze převede všechny názvy souborů do ls najednou a teprve potom může ls pěkně zarovnejte sloupce.

(Jinými slovy, váš první příkaz je ekvivalentní ls -l index.html* , kromě toho, že nezpracovává správně názvy souborů obsahující mezery.)


Linux
  1. Proč nikdo nepoužívá The True Bourne Shell jako /bin/sh?

  2. Proč rozvětvení mého procesu způsobuje nekonečné čtení souboru

  3. Proč se vypnutí net rpc nezdaří se správnými přihlašovacími údaji?

  1. Proč regulární výraz funguje v X, ale ne v Y?

  2. BCRYPT – Proč jej distribuce Linuxu nepoužívají ve výchozím nastavení?

  3. Proč uživatel 'bin' potřebuje přihlašovací shell?

  1. Proč potřebuje uživatel root oprávnění sudo?

  2. Proč PC zamrzne, když kopíruji soubor na Pendrive?

  3. Proč se při používání Vlc spořič obrazovky neustále probouzí?