Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Linux.general

Linux.general : head et tail deux en un ?

Posté par mac_is_mac (page perso, ) le 29 février 2008
Bonjour,

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).  

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.

En perl

Posté par alenvers () le 29/02/2008 à 09:14. (lien). Évalué à 2.


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

      Posté par gaaaaaAab () le 29/02/2008 à 11:32. (lien). Évalué à 1.

      pour se débarrasser du pipe (et du cat !), on peut aussi faire :
      perl -e 'read(STDIN,$p,10);read(STDIN,$b,20); print $b' < unfichier

  • [^]Re: En perl

    Posté par ffx () le 29/02/2008 à 13:14. (lien). Évalué à 1.

    Bien que cela ne soit pas ce qui a été demandé (et dd est alors sans doute le mieux, comme écrit plus bas), pour extraire les lignes de 10 à 50 je ferais plus simplement :
    sed -n "10,50p" fichier

il est ou dédé ?

Posté par ecid () le 29/02/2008 à 09:47. (lien). Évalué à 7.

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é ?

    Posté par KiKouN (Jabber id, ) le 29/02/2008 à 11:18. (lien). Évalué à 4.

    Ho moi qui pensait que dd ne servait qu'à faire gratter le disque dur!

    --
    KiKouN, Bucheron-Geek
  • [^]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