A voir également:
- [SHELL] insérer des quotes dans un fichiers
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Insérer liste déroulante excel - Guide
19 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
31 juil. 2006 à 12:28
31 juil. 2006 à 12:28
Salut,
As-tu essayé d'echapper les apostrohpes avec un antislash \' ?
lami20j
As-tu essayé d'echapper les apostrohpes avec un antislash \' ?
lami20j
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
31 juil. 2006 à 19:32
31 juil. 2006 à 19:32
Salut,
J'ai fait au plus simple, c'est à dire de quoter ce qui est entre le signe "égale" :
J'ai fait au plus simple, c'est à dire de quoter ce qui est entre le signe "égale" :
[jp@MDK ~]$ var=":update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979" [jp@MDK ~]$ echo $var | sed "s/\(.*= \)\(.*\)\( =.*\)/\1\'\2\'\3/" :update nsc_tval set qmajb = 'QBASE-03 where cval' = DE000CG08979 [jp@MDK ~]$A adapter ;-))
salut,
pas mal du tt, ca m'aide bien ta solution jipicy j'ai notement pu isoler le dernier champ avec cette commande:
echo $var | sed "s/\(.*= \)\(.*\)\($\)/\1\'\2\3\'/"
update nsc_tval set qmajb = QBASE-03 where cval = 'DE000CG08979'
mais j'ai toujours un petit souci pour isoler le champ intermediaire QBASE-03, en effet je ne vois pas comment utiliser l'espace comme delimiteur, est ce possible dans la commande sed ?
j'ai teste plusieurs possiblites sans succes, ca commence vraiment a me ****. lol
merci
Godz
pas mal du tt, ca m'aide bien ta solution jipicy j'ai notement pu isoler le dernier champ avec cette commande:
echo $var | sed "s/\(.*= \)\(.*\)\($\)/\1\'\2\3\'/"
update nsc_tval set qmajb = QBASE-03 where cval = 'DE000CG08979'
mais j'ai toujours un petit souci pour isoler le champ intermediaire QBASE-03, en effet je ne vois pas comment utiliser l'espace comme delimiteur, est ce possible dans la commande sed ?
j'ai teste plusieurs possiblites sans succes, ca commence vraiment a me ****. lol
merci
Godz
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cette solution me donne presque ce que je veux mais il semble que le caractere "-" foute la merde:
echo $var | sed "s/\(QBASE*\)/'\1'/"
update nsc_tval set qmajb = 'QBASE'-03 where cval = DE000CG08979
j'y suis presque ca me saoul.lol
Godz
echo $var | sed "s/\(QBASE*\)/'\1'/"
update nsc_tval set qmajb = 'QBASE'-03 where cval = DE000CG08979
j'y suis presque ca me saoul.lol
Godz
ok autant pour moi c bon j'ai trouve
pour info : echo $var | sed "s/\(QBASE-0[1-3]\)/'\1'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = DE000CG08979
en ts cas j'aurais bien galere
merci pour tte les infos qui m'ont permis d'avancer.
Godz
pour info : echo $var | sed "s/\(QBASE-0[1-3]\)/'\1'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = DE000CG08979
en ts cas j'aurais bien galere
merci pour tte les infos qui m'ont permis d'avancer.
Godz
bon alors bon
encore un petit souci, cette fois ci, lorsque je passe ma cmd dans le terminal ca passe nikel:
line=update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
echo $line | sed "s/\(QBASE-0[1-3]\)/'\1'/" | sed "s/\(.*= \)\(.*\)\($\)/\1\'\2\3\'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
par contre quand je lance cette commande dans un script, ca me donne ce resultat:
line=update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
'pdate nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979
dc la je suis un peu perdu, please help me.
merci d'avance
Godz
encore un petit souci, cette fois ci, lorsque je passe ma cmd dans le terminal ca passe nikel:
line=update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
echo $line | sed "s/\(QBASE-0[1-3]\)/'\1'/" | sed "s/\(.*= \)\(.*\)\($\)/\1\'\2\3\'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
par contre quand je lance cette commande dans un script, ca me donne ce resultat:
line=update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
'pdate nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979
dc la je suis un peu perdu, please help me.
merci d'avance
Godz
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
1 août 2006 à 21:40
1 août 2006 à 21:40
Re-
Désolé, mais je rentre juste là ...
Faudrait que tu nous colles ton script pour qu'on puisse voir où ça coince, parce que là à vue de nez, ben c'est pas simple ;-))
Sinon, j'avais fait cette regex pour isoler tes 2 champs quel que soit le contenu des 2 champs proprement dit, mais à condition que la forme de la ligne soit rigoureusement identique :
Désolé, mais je rentre juste là ...
Faudrait que tu nous colles ton script pour qu'on puisse voir où ça coince, parce que là à vue de nez, ben c'est pas simple ;-))
Sinon, j'avais fait cette regex pour isoler tes 2 champs quel que soit le contenu des 2 champs proprement dit, mais à condition que la forme de la ligne soit rigoureusement identique :
var=":update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979" echo $var | sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" :update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979';-))
merci pour ton aide jipicy vraiment ca m'aide beaucoup.
En fait mon script c'est juste d'integrer le tout dans une boucle,
parce que mes requetes db2 sont toutes stockées dans un fichier et je voudrais les executes une par une en inserant les quotes requis.
j'ai essaye ca avec le pb cite precedement:
while read < qmajb.log
do
echo $REPLY
echo $REPLY | sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/"
done
Godz
En fait mon script c'est juste d'integrer le tout dans une boucle,
parce que mes requetes db2 sont toutes stockées dans un fichier et je voudrais les executes une par une en inserant les quotes requis.
j'ai essaye ca avec le pb cite precedement:
while read < qmajb.log
do
echo $REPLY
echo $REPLY | sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/"
done
Godz
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
2 août 2006 à 08:15
2 août 2006 à 08:15
Salut Godz,
Ben en fait, faut pas t'embêter avec une boucle dans ce cas là, le filtre "sed" a tout ce qu'il faut pour faire ça (man sed pour plus de détails).
Au lieu de "parser" la ligne, suffit de "parser" le fichier dans sa totalité :
;-))
Ben en fait, faut pas t'embêter avec une boucle dans ce cas là, le filtre "sed" a tout ce qu'il faut pour faire ça (man sed pour plus de détails).
Au lieu de "parser" la ligne, suffit de "parser" le fichier dans sa totalité :
[jp@MDK tmpfs]$ cat fich.txt
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
[jp@MDK tmpfs]$ sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" fich.txt
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
[jp@MDK tmpfs]$ sed -i.orig "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" fich.txt
[jp@MDK tmpfs]$ ls -l
total 8
-rw-r--r-- 1 jp jp 748 aoû 2 08:06 fich.txt
-rw-r--r-- 1 jp jp 704 aoû 2 08:05 fich.txt.orig
[jp@MDK tmpfs]$ cat fich.txt*
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
:update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
[jp@MDK tmpfs]$
L'option "-i.orig" sert en fait à écrire directement dans le fichier (fich.txt ici) et de faire une sauvegarde du fichier original dans un fichier nommé comme l'original mais "flanqué" de l'extension ".orig".
;-))
salut jipicy,
en fait je me suis rendu compte que c justement lorsque je passe ma commande sed sur le fichier complet que j'ai ce decalage de quote.
en effet lorsque je teste le tout sur une seule ligne sa passe alors que sur le fichier --> pb (script ou pas script)
alors je vois pas trop d'ou ca peut venir peut etre une histoire d'espace en plus ou en moins.
je vais regarder ca de plus pres.
en tous cas encore merci pour tes infos, n'etant pas un pro de linux je t'avoue que je galere un peu ts seul.
Godz
en fait je me suis rendu compte que c justement lorsque je passe ma commande sed sur le fichier complet que j'ai ce decalage de quote.
en effet lorsque je teste le tout sur une seule ligne sa passe alors que sur le fichier --> pb (script ou pas script)
alors je vois pas trop d'ou ca peut venir peut etre une histoire d'espace en plus ou en moins.
je vais regarder ca de plus pres.
en tous cas encore merci pour tes infos, n'etant pas un pro de linux je t'avoue que je galere un peu ts seul.
Godz
je crois savoir d'ou ca vient, qd je passe ma commande sed sur mon fichier, je recupere ceci:
'pdate nsc_tval set qmajb = ' QBASE-03 ' where cval = ' DE000CG08979
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016921
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016988
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016996
comme tu peux le voir, j'ai des espaces en plus entre les quotes d'ou ce decalage a la fin de chaque ligne puisqu'il n'y a pas d'espace a la fin de celle ci.
Godz
'pdate nsc_tval set qmajb = ' QBASE-03 ' where cval = ' DE000CG08979
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016921
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016988
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016996
comme tu peux le voir, j'ai des espaces en plus entre les quotes d'ou ce decalage a la fin de chaque ligne puisqu'il n'y a pas d'espace a la fin de celle ci.
Godz
je ne comprends decidement pas pourquoi ca ca marche :
[opnvwep@pluton1 MCO]$ var="update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979"
[opnvwep@pluton1 MCO]$ echo $var | sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
et pourquoi ca ca marche pas :
[opnvwep@pluton1 MCO]$ sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" qmajb.log
'pdate nsc_tval set qmajb = ' QBASE-03 ' where cval = ' DE000CG08979
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016921
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016988
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016996
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000017002
[opnvwep@pluton1 MCO]$ var="update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979"
[opnvwep@pluton1 MCO]$ echo $var | sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/"
update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979'
et pourquoi ca ca marche pas :
[opnvwep@pluton1 MCO]$ sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" qmajb.log
'pdate nsc_tval set qmajb = ' QBASE-03 ' where cval = ' DE000CG08979
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016921
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016988
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000016996
'pdate nsc_tval set qmajb = ' QBASE-01 ' where cval = ' NL0000017002
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
2 août 2006 à 09:58
2 août 2006 à 09:58
Affiches-nous une partie (une dizaine de lignes) de ton fichier "qmajb.log" s'il te plaît, enfin si possible ;-))
update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016921
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016988
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016996
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017002
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017010
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017077
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017085
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017093
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017101
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016921
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016988
update nsc_tval set qmajb = QBASE-01 where cval = NL0000016996
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017002
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017010
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017077
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017085
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017093
update nsc_tval set qmajb = QBASE-01 where cval = NL0000017101
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
2 août 2006 à 10:21
2 août 2006 à 10:21
Merci.
Ben je comprend pas, chez moi ça marche bien :
Ben je comprend pas, chez moi ça marche bien :
[jp@MDK tmpfs]$ cat godz.txt update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979 update nsc_tval set qmajb = QBASE-01 where cval = NL0000016921 update nsc_tval set qmajb = QBASE-01 where cval = NL0000016988 update nsc_tval set qmajb = QBASE-01 where cval = NL0000016996 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017002 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017010 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017077 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017085 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017093 update nsc_tval set qmajb = QBASE-01 where cval = NL0000017101 [jp@MDK tmpfs]$ sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" godz.txt update nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016921' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016988' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016996' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017002' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017010' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017077' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017085' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017093' update nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017101' [jp@MDK tmpfs]$!!??
alors la je crois que ca va rester un grand mystere, j'ai cree un nouveau fichier avec la meme chose dedans et en effet ca marche.
donc je sais pas ce qu'il s'est passe avec mon fichier mais je me faisais chier avec alors qu'il etait foireux.
en tous cas merci pour ton aide precieuse.
Godz
donc je sais pas ce qu'il s'est passe avec mon fichier mais je me faisais chier avec alors qu'il etait foireux.
en tous cas merci pour ton aide precieuse.
Godz
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
2 août 2006 à 11:10
2 août 2006 à 11:10
Y'a peut être une histoire de caractère de fin de ligne...
Ton fichier est-il créé depuis un système Unix ou Windows ?
Cherche pô j'ai trouvé, c'est bien ça, l'histoire des caractères de fin de ligne !!!
Je viens de faire le test en rajoutant le caractère de fin de ligne propre à Window$ et j'ai la même erreur :
Donc avant il te faut supprimer ce caractère de ton fichier avec la commande suivante :
;-))
Ton fichier est-il créé depuis un système Unix ou Windows ?
Cherche pô j'ai trouvé, c'est bien ça, l'histoire des caractères de fin de ligne !!!
Je viens de faire le test en rajoutant le caractère de fin de ligne propre à Window$ et j'ai la même erreur :
[jp@MDK tmpfs]$ cat -t godz.txt update nsc_tval set qmajb = QBASE-03 where cval = DE000CG08979^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000016921^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000016988^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000016996^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017002^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017010^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017077^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017085^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017093^M update nsc_tval set qmajb = QBASE-01 where cval = NL0000017101^M [jp@MDK tmpfs]$ sed "s/\(.*= \)\(.*\)\( .* .* = \)\(.*\)/\1\'\2\'\3\'\4\'/" godz.txt 'pdate nsc_tval set qmajb = 'QBASE-03' where cval = 'DE000CG08979 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016921 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016988 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000016996 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017002 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017010 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017077 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017085 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017093 'pdate nsc_tval set qmajb = 'QBASE-01' where cval = 'NL0000017101 [jp@MDK tmpfs]$
Donc avant il te faut supprimer ce caractère de ton fichier avec la commande suivante :
sed -i.BAK 's/^M/$/' godz.txtLe "^M" s'obtient en tapant "CTRL V" puis "CTRL M".
;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 août 2006 à 14:47
2 août 2006 à 14:47
Salut,
le caractère de fin de ligne propre à Window
Il s'agit en fait de CarriageReturn suit de NewLine \r\n
Pour Unix c'est NewLine \n
en bref il faut supprimer seulement \r
sinon
le caractère de fin de ligne propre à Window
Il s'agit en fait de CarriageReturn suit de NewLine \r\n
Pour Unix c'est NewLine \n
en bref il faut supprimer seulement \r
sed -i.BAK 's/\r//' godz.txt
sinon
sed -i.BAK 's/\r\n/\n/' godz.txtlami20j