Extraire un bout de chaine [SHELL/SED] - Shell/Batch - Programmation
Marsh Posté le 21-09-2015 à 10:58:35
Bonjour !
Je pense qu'en effet, n outil du genre awk ou perl seront assez adaptés, à ceci près que comme on ne peut spécifier qu'un seul séparateur, il faudra faire une boucle par champ, mais cela ne paraît pas mortel.
Si j'arrive à croiser une machine avec un awk installé, je tenterai de vous proposer un premier jet entre midi et deux.
Bonne continuation !
Marsh Posté le 21-09-2015 à 11:49:16
ReplyMarsh Posté le 21-09-2015 à 12:50:02
chico008 a écrit : ok |
Ceci semble pas mal, il ne vous reste plus qu'à adapter la dernière ligne pour obtenir la sortie que vous voulez :
Fichier AWK à sauvegarder (cmd.awk par la suite)
Code :
|
Ligne de commande :
Code :
|
A priori, le fichier de commandes gère quelques cas d'erreur, peut-être pas tous ...
Bonne continuation !
Marsh Posté le 22-09-2015 à 06:51:39
Merci du coup de main.
J'aurais preferer une ligne a integrer dans mon shell directement.
et au passage j'ai finalement contourner la difficulté avec un egrep qui me donne pile ce que je voulais avec mon fichier en entrée, qui me donne une info par ligne.
Mais en tout cas merci quand meme, j'aiun autre projet ou pour le coup les données sont dans ce cas la, et votre script poura me servir.
Marsh Posté le 22-09-2015 à 11:01:40
Pas de souci. Pour l'intégration en une ligne de commande, c'est possible en concaténant le contenu du fichier et en remplaçant le -f cmd.axk par 'contenu du fichier concaténé', j'avais choisi cette option pour la lisibilité et la facilité de mise au point.
Bonne continuation !
Marsh Posté le 21-09-2015 à 09:09:38
Bonjour,
je cherche a extraire un bout de donnée d'une chaine de caractère, mais je ne parviens pas à mes fin.
Prenons la chaine suivante
J'aurais 4 champs a extraite, les 2er, insert_job et job_type ne bougerons pas.
par contre les 2 autres ne seront pas toujours à la meme place, il sagit de box_name et condition
je pensait faire un sed, en cherchant mes champs, et les extraires.
cependant, je n'y parviens pas.
j'ai essayer ceci ($LINE contient la ligne)
mais au final, ca me sort toute la ligne.
je pensait sinon le faire en AWK, mais je ne maitrise pas asser pour savoir comment faire.
Si quelqu'un a une idée, je suis preneur.
Merci de votre aide.
---------------
Serveur HFR - OpenTTD