• # Avec Perl

    Posté par . En réponse au message Comment modifier chaque ligne dans un fichier ?. Évalué à 2.

    Comme l'a dit xavier, il ne serait pas inutile que tu explicites ton exemple : comptes-tu les lignes qui ne contiennent pas "tous" (j'ai supposé que oui) ? que fais-tu des lignes qui contiennent "tous" à un autre endroit (j'ai supposé que tu ne les affiches pas) ? souhaites-tu bien remplacer le premier champ par le numéro (c'est ce que semble montrer ton exemple) ?

    Par rapport à l'exemple fourni,
    perl -nle '/^[^;]*(;tous;.*)$/ and print $. + 12, 1ドル' toto.txt
    fait le boulot et fonctionne pour un cas plus complexe en suivant les suppositions que j'ai faites.

    -n assure le parcours des lignes du (ou des) fichier(s) donnés en arguments (comme awk).
    -l retire les fins de lignes avant le traitement et en remet après.
    $. est le numéro de la ligne courante du fichier.
    1ドル est la chaîne correspondant à la première (et dans ce cas unique) parenthèse de l'expression rationnelle.

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone