Gawk séparateur ;
cg75005
Messages postés
16
Statut
Membre
-
dubcek Messages postés 18786 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18786 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un fichier où j'ai des données
bator.ad.ted.security administrator 30/08/2009 3.6.0.574 VIRUSCAN8600 8.5.0.781.Srv 5301.4018
avec plusieurs espaces.
J'ai vu dans un forum qu'on peut utiliser la commande gawk, sauf que je ne sais pas m'en servir. Je voudrais savoir comment faire ?
Voici :
gawk '{ print substr($0,1,10) ";" substr($1,11,4) ";" substr($0,15); }' datasource.txt > resultat.txt
Je pense que je dois changer les subsr ... car pourquoi pour le 1er on met 0,1,10 etc.
Est-ce-que quelqu'un peut m'aider ?
Cordialement,
j'ai un fichier où j'ai des données
bator.ad.ted.security administrator 30/08/2009 3.6.0.574 VIRUSCAN8600 8.5.0.781.Srv 5301.4018
avec plusieurs espaces.
J'ai vu dans un forum qu'on peut utiliser la commande gawk, sauf que je ne sais pas m'en servir. Je voudrais savoir comment faire ?
Voici :
gawk '{ print substr($0,1,10) ";" substr($1,11,4) ";" substr($0,15); }' datasource.txt > resultat.txt
Je pense que je dois changer les subsr ... car pourquoi pour le 1er on met 0,1,10 etc.
Est-ce-que quelqu'un peut m'aider ?
Cordialement,
2 réponses
hello
si le but est de remplacer les espaces par ; , pour en faire un .csv, par exemple
si le but est de remplacer les espaces par ; , pour en faire un .csv, par exemple
$ cat a3
bator.ad.ted.security administrator 30/08/2009 3.6.0.574 VIRUSCAN8600 8.5.0.781.Srv 5301.4018
$ awk '{gsub(" ", ";");print $0}' < a3
bator.ad.ted.security;administrator;30/08/2009;3.6.0.574;VIRUSCAN8600;8.5.0.781.Srv;5301.4018