Gawk séparateur ;

Fermé
cg75005 Messages postés 16 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 14 décembre 2009 - 25 sept. 2009 à 12:51
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 - 26 sept. 2009 à 09:44
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,

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
25 sept. 2009 à 14:30
Salut,

Et le résultat que tu veux obtenir est ???
0
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 5 624
26 sept. 2009 à 09:44
hello
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
0