GNU/Linux >> Tutoriels Linux >  >> Linux

Comment écrire un fichier dans un autre ?

J'ai un fichier vide (il n'y a que des zéros) de taille 9,0 Ko et j'ai besoin d'y écrire un autre fichier (de taille 1,1 Ko), mais le premier fichier ne doit pas perdre sa taille ni le reste de son contenu. Donc si le fichier entier est 00000000000000... maintenant, je dois y écrire un deuxième fichier et laisser les zéros tels quels. J'ai essayé d'utiliser dd , mais je n'ai pas réussi - le fichier se redimensionne.

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

Est-ce que quelqu'un sait comment puis-je le faire ?

Réponse acceptée :

Pour écraser le début du fichier de destination sans le tronquer, donnez le notrunc instruction de conversion :

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

Si vous vouliez que les données du fichier source soient ajoutées à la destination, vous pouvez le faire avec le seek instruction :

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

Cela indique dd que la taille du bloc est de 1 ko, de sorte que le seek avance de 9 ko avant de faire l'écriture.

Vous pouvez également combiner les deux formes. Par exemple, pour écraser la seconde Bloc de 1 Ko dans le fichier avec une source de 1 Ko :

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

Autrement dit, il ignore le premier 1 Ko du fichier de sortie, écrase les données qu'il y trouve avec les données du fichier d'entrée, puis ferme la sortie sans la tronquer au préalable.


Linux
  1. Comment écrire un fichier avec C sous Linux ?

  2. Écrire dans le fichier .txt ?

  3. Comment grep \n dans le fichier

  4. Comment compresser plusieurs fichiers dans un seul fichier gz?

  5. Comment écrire des fichiers sur une clé USB sans être root ?

Comment écrire des données dans un fichier sous Linux

Comment supprimer des fichiers répertoriés dans un autre fichier sous Linux

Comment diviser un fichier MP3 ?

Comment importer des données dans Apache Solr

Comment faire écho dans le fichier

Tutoriel Unix Sed :comment écrire dans un fichier à l'aide de Sed