[SHELL] Extraire une chaine de caractere
karineb77
-
karineb77 -
karineb77 -
Bonjour,
Je cherche à extraire d'un fichier une chaine de caractere se trouvant sur la premiere ligne en position 57 et de longueur 5.
Je veux ensuite l'affecter à une variable pour pouvoir ensuite tester sa valeur.
Je voudrais également supprimer les espaces de cette chaine.
Comment faire ?
J'ai essayé avec awk mais je n'arrive pas à affecter le resultat à une variable externe en faisant cela
awk '{print substr($0,57,5)}' monfichier.txt | head -n1
Merci d'avance pour votre aide
Karine
Je cherche à extraire d'un fichier une chaine de caractere se trouvant sur la premiere ligne en position 57 et de longueur 5.
Je veux ensuite l'affecter à une variable pour pouvoir ensuite tester sa valeur.
Je voudrais également supprimer les espaces de cette chaine.
Comment faire ?
J'ai essayé avec awk mais je n'arrive pas à affecter le resultat à une variable externe en faisant cela
awk '{print substr($0,57,5)}' monfichier.txt | head -n1
Merci d'avance pour votre aide
Karine
A voir également:
- [SHELL] Extraire une chaine de caractere
- Extraire une video youtube - Guide
- Classic shell - Télécharger - Personnalisation
- Extraire le son d'une vidéo - Guide
- Caractère spéciaux - Guide
- Caractère ascii - Guide
4 réponses
Merci pour tes réponses.
Pour awk, je pense plutôt qu'il faut tester NR==1 si je veux la première ligne ?
Sinon, je n'arrive pas à exécuter la commande sed :
quand je tape cette commande sed -ne '1 {s/.{56}(.{5}).*/\1/; s/ //gp}' monfichier,
j'ai le résultat suivant :
sed: Function 1 {s/.{56}(.{5}).*/\1/; s/ //gp} cannot be parsed.
Karine
Pour awk, je pense plutôt qu'il faut tester NR==1 si je veux la première ligne ?
Sinon, je n'arrive pas à exécuter la commande sed :
quand je tape cette commande sed -ne '1 {s/.{56}(.{5}).*/\1/; s/ //gp}' monfichier,
j'ai le résultat suivant :
sed: Function 1 {s/.{56}(.{5}).*/\1/; s/ //gp} cannot be parsed.
Karine