GNU/Linux >> Tutoriels Linux >  >> Linux

Alternative à "dd" qui ne tronque pas le fichier ?

Est-ce que quelqu'un connaît une alternative pour 'dd', qui ne tronquera pas le fichier, sans utiliser :conv=notrunc . Ajout de conv=notrunc n'est pas pris en charge via busybox/toybox en raison d'un espace limité.

Par exemple, je voudrais l'équivalent de

dd bs=4 count=3 skip=2 seek=3 if=file.in of=file.out conv=notrunc

Mais cela fonctionnerait où dd ne prend pas en charge conv=notrunc .

Réponse acceptée :

Utilisez le <> standard sh opérateur de redirection qui ouvre le fichier en mode lecture+écriture sans troncature .

cat < file.in 1<> file.out

Pour copier le contenu de file.in au début de file.out .

Si vous devez rechercher dans le fichier d'entrée ou de sortie, et en supposant que votre dd prend toujours en charge ces directives :

dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out

Si vous n'avez pas dd du tout, vous pouvez essayer head -c , en supposant que votre version s'occupe de laisser le pointeur dans le fichier au bon endroit à la sortie (ce que les anciennes versions IIRC de busybox ne faisaient pas).

Par exemple, l'équivalent de ce qui précède serait :

{
  head -c 8 > /dev/null        # seek input fd to offset 8
  head -c 12 <&1 > /dev/null   # seek output fd to offset 12
  head -c 12                   # copy 12 bytes
} < file.in 1<> file.out

Linux
  1. Pourquoi le script Bash ne reconnaît-il pas les alias ?

  2. La fête ?

  3. Comment effacer le contenu d'un fichier depuis la ligne de commande ?

  4. Quelle est la commande unix pour savoir à quel fichier exécutable correspond une commande donnée ?

  5. Comment tronquer un fichier par lignes ?

Introduction au système de fichiers Linux

Utilisation du fichier de configuration SSH

La commande Cat n'affiche pas les lignes du texte ?

Les 10 meilleurs systèmes d'exploitation alternatifs à Windows :lequel vous convient le mieux ?

Quel fichier dans /proc est lu par le noyau lors du processus de démarrage ?

Conserver un historique de toutes les modifications apportées à un fichier texte