GNU/Linux >> Znalost Linux >  >> Linux

spuštění příkazu proti každému řádku v textovém souboru

Takže máte textový soubor, jako je tento:

file1
file2
..

A chcete spustit příkaz na každém řádku souboru (řekněme chmod 644). Stejně jako všechny věci UNIX existuje více než jeden způsob, jak to udělat, ale zde je rychlá a špinavá odpověď:

xargs -0 -n 1 chmod 644 < <(tr \\n \\0 <filelist.txt)

Takže to spustí xargs na std. vstup (filelist.txt).
-n je max argumentů – v tomto případě máme 1 argument. (seznam souborů v souboru – na řádek).
-0 znamená, že vstupní řádky jsou ukončeny prázdným znakem, nikoli mezerou, aby bylo vše uklizeno.
Nakonec spustíme tr, který odstraní znaky, v tomto případě odstraněním nových řádků a mezer.


Linux
  1. Patool – Přenosný správce archivních souborů s příkazovým řádkem

  2. Jak zabít příkazový řádek Chromium přes Ssh?

  3. Jak analyzovat každý řádek textového souboru jako argument příkazu?

  1. Spuštění softwarového centra z příkazového řádku jako root?

  2. Zobrazte tabulkový soubor, například CSV, z příkazového řádku

  3. Proveďte příkaz pro každý soubor v aktuálním adresáři

  1. Zmenšete velikost PDF pomocí tohoto triku s příkazovým řádkem

  2. Nástroj příkazového řádku pro identifikaci specifikací zvukového souboru

  3. Alternativa k příkazovému řádku SSH z Ubuntu