Awk: récupérer le xème caractère d'une ligne
Résolu
tlep
Messages postés
597
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
est-il possible avec awk (ou autre) de récupérer par exemple le 112ème caractère de chaque ligne pour un fichier donné ?
Merci :-)
est-il possible avec awk (ou autre) de récupérer par exemple le 112ème caractère de chaque ligne pour un fichier donné ?
Merci :-)
7 réponses
A priori j'ai trouvé en fait:
toto="abcd"
echo "$toto"|awk '{ print substr($0,2,1) }'
=>b
C'est bien awk :-)
toto="abcd"
echo "$toto"|awk '{ print substr($0,2,1) }'
=>b
C'est bien awk :-)
Salut,
[tmpfs]$ cat plop
12345A78910
12345B78910
12345C78910
12345D78910
12345E78910
12345F78910
[tmpfs]$ sed 's/.\{5\}\(.\).*/\1/' plop
A
B
C
D
E
F
[tmpfs]$;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Oui la solution avec cut, est la plus simple. Mais puisqu'elle se base sur le byte, s'il y a un accent dans la chaîne, ça marche plus. (Oui je sais, je suis un rabat-joie ^^).. La solution avec sed dans ce cas marche merveilleusement bien.
Ou alors :
for i in $(<plop); do echo ${i:3:1}; done
Cdlt
Oui la solution avec cut, est la plus simple. Mais puisqu'elle se base sur le byte, s'il y a un accent dans la chaîne, ça marche plus. (Oui je sais, je suis un rabat-joie ^^).. La solution avec sed dans ce cas marche merveilleusement bien.
Ou alors :
for i in $(<plop); do echo ${i:3:1}; done
Cdlt
Yes, et pour le moment c'est la plus simple ;-)