GNU/Linux >> Linux Esercitazione >  >> Linux

Modifica dei file al volo in Linux (scrittura nel file di input su una pipe)

Prova a utilizzare sponge di moreutils in questo modo:

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

Raccoglie l'intero input prima di scrivere nel suo output.


Immagino che sed potrebbe ancora creare il file temporaneo, ma quanto segue potrebbe fare quello che vuoi? (L'uso di strace su questo potrebbe mostrarti se sed crea un file temporaneo o meno).

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

L'esclamazione inverte la corrispondenza, d sta per delete, quindi rimuove tutte le righe che non contengono una barra.


Linux
  1. Trova file e directory su Linux con il comando find

  2. Copia i file nel terminale Linux

  3. Spostare file su Linux senza mv

  4. Il comando sed di Linux non modifica il file di destinazione

  5. Qual è il limite massimo di file aperti su Linux?

I 6 modi migliori per visualizzare i file in Linux

Come rinominare uno o più file in Linux

Come decomprimere i file gz in Linux

Gestione file Linux dal terminale

Come comprimere un file in Linux

Linux reindirizza il file audio all'ingresso del microfono