Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/07/2020, à 09:24

GregGC

[Résolu]-Utilisation de sed-chaîner une liste de valeur

Bonjour à tous,

Je recherche le moyen rapide, à l'aide de sed (que je pense être la commande idoine),de chaîner une liste de plusieurs centaine de nombre contenue dans un fichier test.txt, en une seule ligne; ligne où chaque valeur serait séparée par ";" et renvoyée vers un fichier test_chaine.txt.
Je ne vous cache pas que man sed ou les différents tutoriaux parcourus partent très vite, très haut et trop vite roll
Une petite aide serait la bienvenue :-)

ex:

0097462356
1713078789
7518096357

deviendrait

0097462356;1713078789;7518096357

-Merci

Dernière modification par GregGC (Le 27/07/2020, à 08:39)


-/- No O/S detected
-/- Call trans opt: received 8-1-19 20:00 REC:>
-/- Warning: carrier anormaly
-/- Trace program: running ...

Hors ligne

#2 Le 01/07/2020, à 09:59

Nuliel

Re : [Résolu]-Utilisation de sed-chaîner une liste de valeur

Hello,
Je ne maitrise pas bien sed ni awk mais voici une autre solution:

cat test.txt | tr '\n' ';' > test_chaine.txt

Je laisse les pros répondre avec sed et awk smile

Dernière modification par Nuliel (Le 01/07/2020, à 10:00)

Hors ligne

#3 Le 01/07/2020, à 10:24

pingouinux

Re : [Résolu]-Utilisation de sed-chaîner une liste de valeur

Bonjour,

sed -n ':a;$!{N;ba};s/\n/;/gp' test.txt >test_chaine.txt

Ajouté : Autres solutions

awk -v ORS=\; '1' test.txt | sed 's/;$/\n/' >test_chaine.txt
while read lig;do printf "$lig;"; done <test.txt | sed 's/;$/\n/' >test_chaine.txt

Dernière modification par pingouinux (Le 01/07/2020, à 10:40)

Hors ligne

#4 Le 01/07/2020, à 10:49

GregGC

Re : [Résolu]-Utilisation de sed-chaîner une liste de valeur

4 solutions pour le prix d'une !?!
What else ?

Merci à Nuliel et pingouinux


-/- No O/S detected
-/- Call trans opt: received 8-1-19 20:00 REC:>
-/- Warning: carrier anormaly
-/- Trace program: running ...

Hors ligne

#5 Le 01/07/2020, à 11:05

sputnick

Re : [Résolu]-Utilisation de sed-chaîner une liste de valeur

Comme ça, le plus propre et efficient:

paste -sd ';' file
0362032542;0097462356;1713078789;7518096357

Dernière modification par sputnick (Le 01/07/2020, à 11:05)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#6 Le 01/07/2020, à 12:27

Watael

Re : [Résolu]-Utilisation de sed-chaîner une liste de valeur

$ mapfile -t array <fichier
(IFS=';' ; echo "${array[*]}")

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne