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.
A voir également:
- Sed : filtrer par un numéro de colonne
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? - Guide
- Sed et ses caprices (ou les miens) ✓ - Forum Linux / Unix
- Sed crlf - Astuces et Solutions
- Sed - Remplacement texte par retour à la ligne ? ✓ - Forum Linux / Unix
- Sed supprimer ligne vide - Forum Linux / Unix
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...
Remplace "9,1" par "81,1".
;-))
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".
;-))