[sed] remplacement caractères

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
albireo
Elfe
Messages : 531
Inscription : ven. 15 sept. 2006, 15:47
Localisation : vallée de la save en Occitanie

[sed] remplacement caractères

Message par albireo »

bonjour, :copain:

je viens faire appel aux specialistes de sed ou des expressions régulières.

je voudrais dans un fichier *.csv remplacer les , se trouvant entre deux " " par des ;
typiquement les virgules de ce type de chaine : "ESO 520-PN3, AM 1726-234, H IV 11, PK 2+5.1"
exemples d'une ligne :
NGC 6369,Little Ghost Nebula,"ESO 520-PN3, AM 1726-234, H IV 11, PK 2+5.1",Planetary nebula,Ophiuchus,17h 29' 20,-23º 45' 33,11.40,37.8,10.13,22:26 hr,23:48 hr,01:10 hr,23º,,
donc je voudrais obtenir
NGC 6369,Little Ghost Nebula,"ESO 520-PN3; AM 1726-234; H IV 11; PK 2+5.1",Planetary nebula,Ophiuchus,17h 29' 20,-23º 45' 33,11.40,37.8,10.13,22:26 hr,23:48 hr,01:10 hr,23º,,
ou remplacer toutes les , par des ; sauf celles entre " "
Utilisateur ArchLinux depuis 2004 et linux depuis 1996 :D
Arch 64/gnome sur ASUS H87M-E C2 + i5 3.2GHz + 8Go + 1To + écran 22"
nova widget wombat woodoo dontpanic overlord ... :?:
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [sed] remplacement caractères

Message par benjarobin »

Bonjour,
https://unix.stackexchange.com/question ... mited-file
Tu dois juste très légèrement l'adapter
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
albireo
Elfe
Messages : 531
Inscription : ven. 15 sept. 2006, 15:47
Localisation : vallée de la save en Occitanie

Re: [sed] remplacement caractères (resolu)

Message par albireo »

Merci je vais regarder çà :D
:bravo: :bravo:
Utilisateur ArchLinux depuis 2004 et linux depuis 1996 :D
Arch 64/gnome sur ASUS H87M-E C2 + i5 3.2GHz + 8Go + 1To + écran 22"
nova widget wombat woodoo dontpanic overlord ... :?:
Thomasb
yeomen
Messages : 275
Inscription : dim. 28 avr. 2019, 14:49

Re: [sed] remplacement caractères

Message par Thomasb »

Ce doit être un peu tard mais sans détecter les guillemets :

Code : Tout sélectionner

echo '"ESO 520-PN3, AM 1726-234, H IV 11, PK 2+5.1"' | sed 's/,/;/g' 
et en les détectant :

Code : Tout sélectionner

echo '"ESO 520-PN3, AM 1726-234, H IV 11, PK 2+5.1"' | sed 's/"\(.*\),\(.*\)"/\1;\2/g' 
ou avec l'option -E :

Code : Tout sélectionner

echo '"ESO 520-PN3, AM 1726-234, H IV 11, PK 2+5.1"' | sed -E 's/"(.*),(.*)"/\1;\2/g'  
Tu essaies de braquer le KGB ?
Avatar de l’utilisateur
albireo
Elfe
Messages : 531
Inscription : ven. 15 sept. 2006, 15:47
Localisation : vallée de la save en Occitanie

Re: [sed] remplacement caractères

Message par albireo »

il n'est jamais trop tard pour apprendre :D
non je ne braque pas le KGB ce ne sont que des noms et coordonnées d'objets astronomiques
Merci
Utilisateur ArchLinux depuis 2004 et linux depuis 1996 :D
Arch 64/gnome sur ASUS H87M-E C2 + i5 3.2GHz + 8Go + 1To + écran 22"
nova widget wombat woodoo dontpanic overlord ... :?:
Thomasb
yeomen
Messages : 275
Inscription : dim. 28 avr. 2019, 14:49

Re: [sed] remplacement caractères

Message par Thomasb »

Mince, sinon je filais un coup de main... :P
Répondre