GNU/Linux >> Linux Esercitazione >  >> Linux

Output da salvare in un file con lo stesso nome del file di input?

Questa domanda ha già risposte qui :Modifica un file senza creare un altro file [duplicare]

(6 risposte)
Chiuso 6 anni fa.

Ho un file di input ed eseguo alcuni comandi, ma voglio che l'output venga salvato con lo stesso nome del file di input.

Ho provato il comando seguente ma rende vuoto il file di output:

cat file1 | grep "YISHA" > file1

Risposta accettata:

Sul sistema GNU, potresti usare sed (l'implementazione GNU):

sed -i -n '/YISHA/p' file1

L'equivalente di FreeBSD o OS/X:

sed -i '' -n '/YISHA/p' file1

o usando sponge da moreutils:

grep "YISHA" file1 | sponge file1

Linux
  1. Come aggiungere l'output a un file?

  2. emette la seconda colonna di un file

  3. Come reindirizzare l'output del programma come input

  4. find:Rilevato loop del file system

  5. Linux:come utilizzare un file come input e output allo stesso tempo?

Output su Stdout e allo stesso tempo Grep in un file?

Shell Scripting Part4 – Input, Output e Reindirizzamento

Salva l'output di un comando dal terminale Debian in un file

Come reindirizzare stderr e stdout a file diversi nella stessa riga nello script?

Come reindirizzare l'output di system() su un file?

Come contare il numero di byte in un file, raggruppando gli stessi byte?