GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie schreibe ich eine Datei in eine andere?

Ich habe eine leere Datei (nur Nullen sind drin) der Größe 9,0KB und ich muss eine weitere Datei (mit der Größe 1,1KB) hineinschreiben, aber die erste Datei darf weder ihre Größe noch den Rest ihres Inhalts verlieren. Also, wenn die ganze Datei 00000000000000... ist Jetzt muss ich eine zweite Datei hineinschreiben und die Nullen so lassen, wie sie sind. Ich habe versucht, dd zu verwenden , aber ich habe keinen Erfolg – ​​Datei ändert die Größe.

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

Weiß jemand wie ich das machen kann?

Akzeptierte Antwort:

Um den Anfang der Zieldatei zu überschreiben, ohne ihn abzuschneiden, geben Sie notrunc an Konvertierungsanweisung:

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

Wenn Sie möchten, dass die Daten der Quelldatei angehängt werden zum Ziel, das geht mit seek Direktive:

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

Dies teilt dd mit dass die Blockgröße 1 kiB beträgt, damit der seek geht um 9 KB vorwärts, bevor der Schreibvorgang ausgeführt wird.

Sie können die beiden Formen auch kombinieren. Zum Beispiel, um die Sekunde zu überschreiben 1-KB-Block in der Datei mit einer 1-KB-Quelle:

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

Das heißt, es überspringt die ersten 1 KB der Ausgabedatei, überschreibt die dort gefundenen Daten mit Daten aus der Eingabedatei und schließt dann die Ausgabe, ohne sie vorher abzuschneiden.


Linux
  1. Wie schreibe ich eine Datei mit C in Linux?

  2. Wie schreibe ich mit Bash Integer in eine Binärdatei?

  3. In .txt-Datei schreiben?

  4. Wie kopiert man die Zeilen 10 bis 15 einer Datei in eine andere Datei in Unix?

  5. Wie gzipe ich mehrere Dateien in eine gz-Datei?

So schreiben Sie Daten in eine Datei unter Linux

So löschen Sie Dateien, die in einer anderen Datei unter Linux aufgeführt sind

Wie teilt man eine MP3-Datei?

So importieren Sie Daten in Apache Solr

Wie Echo in Datei

Unix Sed Tutorial:So schreiben Sie mit Sed in eine Datei