J’essaye de récupérer une donnée précise dans une chaine de caractère grâce à la fonction sed, pour le moment sans succès, malgrés mes différentes recherches sur Internet.
123456#44444#DD#12345#1#1#Z#
Je souhaite récupérer les valeurs entre les deux premiers dièses (dans cet exemple 44444).
Si je fais "cat fichier.txt | sed -n “/[0-9]#[0-9]#DD#.*#/p” ça me retourne effectivement les lignes correspondantes. Cependant je n’arrive toujours pas a trouver la solution pour récupérer la chaîné souhaitée.
J’ai essayé entre autre "cat fichier.txt | sed -n “/[0-9]#([0-9])#DD#.#/p" ou bien "cat fichier.txt | sed -n "/[0-9]#([0-9])#DD#.#/\1/p”.
Oui, on pourrait aussi faire encore plus économique, sans lancer aucun programme comme sed ou awk
rien qu’en utilisant l’interpréteur de commandes bash
Aha. Je ne m’attendais pas à avoir autant de réponses avec autant d’enthousiasme. Merci à tous pour vos retours, ça m’a été d’une grande utilité. A bientôt !
En fait le seul truc qui n’a pas un comportement normalisé par POSIX dans ces trois lignes c’est ‘echo’, qui gagnerait à être remplacé par un ‘printf’.
Bon, je te concède le point pour les double quotes tout de même