Renommage de caractère dans un fichier texte

neonavy Messages postés 93 Statut Membre -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour,
J'aimerai transformer les 5 premiers séparateurs de champ (ce sont des espaces ou des tabulations que je voudrai transformer en piont-virgule) d'un journal de log.
Quelqu'un aurait-il un script à me proposer?
D'avance merci.
A voir également:

1 réponse

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

c'était mieux d'avoir quelque ligne de ton fichier.
en conséquence j'ai créé un fichier bidon et voilà ce que ça donne
le fichier original est sauvegardé avec l'extension .orig
lami20j@debian:~$ cat vider.txt
0       a   b           c                       d                       e555champs aaa bbba
0       a  b    c               d                                       e555champs ccc
0       a                       b c                     d                       e555champs kdsjf sdjkf ksdj
0       a        b                      c                               d       e555champs
0       a  b    c                       d                               e555champs aaa 111;ff
lami20j@debian:~$ perl -pi.orig -e 's#(.*)#join ";",split /\s+/,$1,6#e' vider.txt
lami20j@debian:~$ cat vider.txt
0;a;b;c;d;e555champs aaa bbb
0;a;b;c;d;e555champs ccc
0;a;b;c;d;e555champs kdsjf sdjkf ksdj
0;a;b;c;d;e555champs
0;a;b;c;d;e555champs aaa 111;ff 
et
lami20j@debian:~$ cat vider.txt
0       a   b           c                       d                       e555champs aaa bbb
0       a  b    c               d                                       e555champs ccc
0       a                       b c                     d                       e555champs kdsjf sdjkf ksdj
0       a        b                      c                               d       e555champs
0       a  b    c                       d                               e555champs aaa 111;ff
lami20j@debian:~$ perl -pi.orig -e 's/(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)/$1;$2;$3;$4;$5;$6/' vider.txt
lami20j@debian:~$ cat vider.txt
0;a;b;c;d;e555champs aaa bbb
0;a;b;c;d;e555champs ccc
0;a;b;c;d;e555champs kdsjf sdjkf ksdj
0;a;b;c;d;e555champs
0;a;b;c;d;e555champs aaa 111;ff
lami20j
0