recheche cobaille pour sed (windows)

bonjour,

je ne dispose pas de windows et j'ai besoin de faire un essai
avec sed ...

i s'agit d'un carnet d'adresse au format csv qui a été saisi en
majuscules ...

je souhaite que tout soit en minuscules sauf la première lettre
et que à la place des virgules j'ai des cotes et un point virgule

voici les instructiions que j'ai fait en linux :

cat essai.csv | sed -e 's/\(.*\)/\L\1/' |sed -e
's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g' |sed -e 's/,/";"/g'

essai-1.csv

pour windows comme cat n'existe pas ou est à trouver

sed -i 's/\(.*\)/\L\1/' essai.csv
sed -i 's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g' essai.csv
sed -i 's/,/";"/g' essai.csv

voci le modèle à répéter 4 fois

CIVILITE,PRENOM,NOM,PRODUCTION,ENTETE,ADRESSE1,ADRESSE2,CODE
POSTAL,VILLE

autrement je suis preneur pour une solution plus rapide

lien pour sed

# http://gnuwin32.sourceforge.net/packages/sed.htm

remarque la commande cat est remplacée par "type"

type file1 file2 > file3

source:

# https://stackoverflow.com/questions/60244/is-there-replacement-for-cat-on-windows

slt
bernard

bonjour,

l'autre alternative consiste à employer awk

# http://gnuwin32.sourceforge.net/packages/gawk.htm

pour basculer tout un texte en minuscules :

commande en linux : cat essai.csv | awk '{print tolower($0)}'

commande en windows (à voir) : type essai.csv |awk '{print tolower($0)}'

documentation :

Bonjour,

L'utilisation de cat (ou de type est inutile), sed accepte (comme awk) accepte le nom du fichier à traiter comme paramètre

sed -e "s/\(.*\)/\L\1/" test.csv | sed -e "s/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g" | sed -e "s/,/\";\"/g" >essai1.csv

Fonctionne correctement sous Win10 64 bits

Il faut juste neutraliser les double quotes dans le dernier sed car windows n'accepte pas les simples quotes comme délimiteur d'expression sed

Ceci étant, quel rapport avec LO ?

Cordialement

Christian FOURCROY