GNU/Linux >> Znalost Linux >  >> Linux

Změna souborů za chodu v Linuxu (zápis do vstupního souboru na rouře)

Zkuste použít houbu od moreutils takto:

sed "s/root/toor/" /etc/passwd | grep -v joey | sponge /etc/passwd

Shromažďuje celý vstup před zápisem na jeho výstup.


Hádal bych, že sed stále může vytvořit dočasný soubor, ale následující může dělat, co chcete? (Použití strace vám může ukázat, zda sed vytváří dočasný soubor nebo ne).

sed -i '/bar/!d' foo.txt

Vykřičník převrátí shodu, d je pro smazání, takže tím se odstraní všechny řádky, které neobsahují pruh.


Linux
  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Přesouvání souborů na Linuxu bez mv

  3. Jaké je omezení maximálního počtu otevřených souborů v systému Linux?

  1. Zkopírujte soubory v terminálu Linux

  2. Přesunout soubory v terminálu Linux

  3. Nejlepší nástroje pro přenos souborů v systému Linux

  1. Vytvářejte soubory pomocí příkazového řádku v Linuxu

  2. Příklady příkazů sed v Linuxu

  3. Příkaz sed pro Linux nemění cílový soubor