Sed en sortie sur fichier identique
Résolu/Fermé
anloanm
Messages postés
2
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
5 février 2008
-
5 févr. 2008 à 10:27
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 févr. 2008 à 11:29
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 févr. 2008 à 11:29
A voir également:
- Sed informatique
- Le code ascii en informatique - Guide
- Jargon informatique - Télécharger - Bureautique
- C'est quoi url en informatique - Guide
- Souris informatique - Guide
- Cpu en informatique - Guide
4 réponses
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
5 févr. 2008 à 10:46
5 févr. 2008 à 10:46
Salut,
Il te faut obligatoirement passer par un fichier temporaire :
;-))
Il te faut obligatoirement passer par un fichier temporaire :
sed 's/toto/titi/g' < michel.txt > michel.tmp mv michel.tmp michel.txtà moins d'avoir une version de "sed" supérieur à la 4.0.5 et bénéficier du switch "-i" (in-place), qui comme son nom l'indique modifie le fichier d'entrée "sur place" :
sed -i.BAK 's/toto/titi/g' michel.txtL'extension ".BAK" est facultative, elle permet de faire une sauvegarde de l'original...
;-))
Bien
J'avais donc :
sed '/COMPTAB/ s/Manual/Auto/' < dede.txt > dede.tmp && mv dede.tmp dede.txt
et maintenant :
fic=$(cat dede.txt);echo "$fic" | sed '/COMPTAB/ s/Manual/Auto/' > dede.txt
les deux font la même chose mais l'approche est différente.
Merci beaucoup
anloanm
J'avais donc :
sed '/COMPTAB/ s/Manual/Auto/' < dede.txt > dede.tmp && mv dede.tmp dede.txt
et maintenant :
fic=$(cat dede.txt);echo "$fic" | sed '/COMPTAB/ s/Manual/Auto/' > dede.txt
les deux font la même chose mais l'approche est différente.
Merci beaucoup
anloanm
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
6 févr. 2008 à 11:29
6 févr. 2008 à 11:29
Merci ;-))
anloanm
Messages postés
2
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
5 février 2008
5 févr. 2008 à 11:02
5 févr. 2008 à 11:02
Salut,
C'est exactement ce qu'il me fallait :
sed 's/toto/titi/g' < michel.txt > michel.tmp | mv michel.tmp michel.txt
Merci beaucoup pour ton aide rapide et efficace.
anloanm
C'est exactement ce qu'il me fallait :
sed 's/toto/titi/g' < michel.txt > michel.tmp | mv michel.tmp michel.txt
Merci beaucoup pour ton aide rapide et efficace.
anloanm
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
5 févr. 2008 à 11:08
5 févr. 2008 à 11:08
Salut,
Il te faut obligatoirement passer par un fichier temporaire :
t'en es sûr ;-))
Il te faut obligatoirement passer par un fichier temporaire :
t'en es sûr ;-))
root@debian:~# cat fichier.txt titi titi root@debian:~# fic=$(cat fichier.txt);echo "$fic" | sed 's/titi/toto/' > fichier.txt root@debian:~# cat fichier.txt toto toto root@debian:~#
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
5 févr. 2008 à 11:14
5 févr. 2008 à 11:14
Hi,
Voui j'en suis sûr, enfin moins maintenant espèce de faux perlien à la noix ;-)))
Voui j'en suis sûr, enfin moins maintenant espèce de faux perlien à la noix ;-)))
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
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
5 févr. 2008 à 11:27
5 févr. 2008 à 11:27
;-)