GNU/Linux >> Linux Esercitazione >  >> Linux

Come scrivere un file in un altro?

Ho un file vuoto (ci sono solo zeri) di dimensione 9,0KB e devo scriverci un altro file (con dimensione 1,1KB), ma il primo file non deve perdere le sue dimensioni o il resto del suo contenuto. Quindi, se l'intero file è 00000000000000... ora, ho bisogno di scrivere il secondo file e lasciare gli zeri così come sono. Ho provato a usare dd , ma non ci sono riuscito:il file viene ridimensionato.

dd if=out/one.img of=out/go.img

Qualcuno sa come posso farlo?

Risposta accettata:

Per sovrascrivere l'inizio del file di destinazione senza troncarlo, dai il notrunc direttiva di conversione:

$ dd if=out/one.img of=out/go.img conv=notrunc

Se vuoi che i dati del file di origine aggiungano alla destinazione, puoi farlo con il seek direttiva:

$ dd if=out/one.img of=out/go.img bs=1k seek=9

Questo dice a dd che la dimensione del blocco sia 1 kiB, in modo che il seek va avanti di 9 kiB prima di eseguire la scrittura.

Puoi anche combinare le due forme. Ad esempio, per sovrascrivere il secondo Blocco da 1 kiB nel file con una sorgente da 1 kiB:

$ dd if=out/one.img of=out/go.img bs=1k seek=9 conv=notrunc

Cioè, salta il primo 1 kiB del file di output, sovrascrive i dati che trova lì con i dati del file di input, quindi chiude l'output senza prima troncarlo.


Linux
  1. Come scrivere un numero intero in un file binario usando Bash?

  2. Come grep \n nel file

  3. come copiare le righe da 10 a 15 di un file in un altro file, in unix?

  4. Come gzippare più file in un unico file gz?

  5. Come posso scrivere file su una USB senza essere root?

Come scrivere dati in file in Linux

Come eliminare i file elencati in un altro file in Linux

Come dividere un file Mp3?

Come importare dati in Apache Solr

Come fare eco in un file

Tutorial Unix Sed:come scrivere su un file usando Sed