Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
conseil commande awk
Envoyé par: luis DIAZ

Bonjour à tous,

j'ai un fichier txt que je veux inserer dans mysql. L'ennuie c'est que le premier champs comporte un chiffreen trop '1'
Les champs sont séparés par des '|'

donc si je fais :

cat nomFichier.DAT | awk -F'|' '{print $1}' | sed -e 's/1//' >nouveau.DAT

ça marche à peu prêt sauf que ça me renvoie que le premier champ et ça vire tous les autres...

donc j'ai fait :

cat nomFichier.DAT | awk -F'|' '{print $1, $2, $3...}' | sed -e 's/1//' >nouveau.DAT

et là ça me donne toute la ligne, mais ça vire les '|' donc pour l'inserer dans mysql ça va être foireux. Quelqu'un à une idée...

Merci pour tout

Poste le Tuesday 9 November 2004 21:45:59
Répondre     Citer    
Re: conseil commande awk
Envoyé par: Jonesy

Bonsoir,

Bizarre, cela a l'air simple et je n'ai pas trouvé plus simple que cela :

cat nomFichier.DAT | awk '{ I=index($0,"|"); print substr($0, I + 1); }'

mais c'est générique. J'entend par là que ne connaissant pas le nombre de champs je ne peux pas faire "en dur". Et que le premier champs soit '1', 42' ou 'tartan-point" il s'en fout ! :-)

Sinon ta 2eme méthode serait plutot :
cat nomFichier.DAT | awk -F'|' '{print $1$2"|"$3"|"$4...}' | sed -e 's/1//' >nouveau.DAT
Non ? (si le nombre de champs est fixe...)

@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Tuesday 9 November 2004 23:41:01
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
conseil commande awk
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons