Sed : filtrer par un numéro de colonne
Résolu
tonticoeur
-
tonticoeur -
tonticoeur -
Bonjour,
Je suis en présence de fichiers de log dont chaque ligne fait strictement 132 caractères.
Je souhaite afficher les lignes de ces fichiers qui ont le caractère 4 en position 81 à l'aide de l'outil SED.
J'ai chercher un peu partout sur le net mais sans résultat. Je vous soumet donc aujourd'hui cette question.
Merci de votre aide.
Je suis en présence de fichiers de log dont chaque ligne fait strictement 132 caractères.
Je souhaite afficher les lignes de ces fichiers qui ont le caractère 4 en position 81 à l'aide de l'outil SED.
J'ai chercher un peu partout sur le net mais sans résultat. Je vous soumet donc aujourd'hui cette question.
Merci de votre aide.
2 réponses
-
Salut,
sed n'est ps fait pour ça, il te faut voir du côté de "awk", beaucoup plus adapté à ce genre de manip...
jp@MDK:~/tmpfs ssh$ cat plop abcdefghijkl abcdefghdjkl abcdefghijkl abcdefghfjkl abcdefghijkl abcdefghfjkl abcdefghdjkl abcdefghijkl jp@MDK:~/tmpfs ssh$ awk 'substr($0,4,1) == substr($0,9,1) {print $0}' plop abcdefghdjkl abcdefghdjkl jp@MDK:~/tmpfs ssh$
Remplace "9,1" par "81,1".
;-))
-
Salut,
Il n'y a pas des références arrièreres pour sed ?!
Voici en perlperl -ne 'print if /^.{3}(.).{4}\1/' plop
A remplacer {4} avec {76}