Retourner aux forums || Retourner au forum Linux.general
Je cherche un outil en ligne de commande qui me permettrait d'extraire un certain nombre d'octets d'un fichier.
Jusqu'à présent, j'utilise les commandes head et tail avec l'option -c; je souhaiterais un programme qui fasse les deux en un pour ne pas recopier des bits inutilement.
Toute aide sera la bienvenue. Merci !
> Lire le message (7 commentaires, moyenne: 2,7).
En perl
cat unfichiertexte | perl -ne 'if ($c++ <= 10) {print; exit() if $c > 50;}'
sortira les lignes de numérotée de 10 à 50.
-
[^]Re: En perl
Posté par alenvers () le 29/02/2008 à 09:34. (lien). Évalué à 2.Faudrait que j'apprenne à lire, pour les bytes de 10 à 29, via un pipe :
cat unfichier | perl -e 'read(STDIN,$p,10);read(STDIN,$b,20); print $b'
La même chose sans le pipe :
perl -e 'open(FD, "unfichier");seek(FD,10,1);read(FD,$b,20); close FD; print $b'
-
[^]Re: En perl
-
-
[^]Re: En perl
il est ou dédé ?
Avec dd peut-être ?
dd if=input_file of=output_file ibs=1 skip=10 count=20 2>/dev/null
-
[^]Re: il est ou dédé ?
-
[^]Re: il est ou dédé ?
Posté par mac_is_mac (page perso, ) le 29/02/2008 à 14:23. (lien). Évalué à 2.Génial ! C'est exactement ce que je cherchais.
Merci beaucoup, ainsi qu'à tous ceux qui m'ont répondu.
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.