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
# Avec Perl
Posté par Arthur Accroc . En réponse au message Comment modifier chaque ligne dans un fichier ?. Évalué à 2.
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