A voir également:
- Commande sed
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
11 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
16 déc. 2005 à 16:48
16 déc. 2005 à 16:48
Salut,
[jp@Mandrake tmpfs]$ cat fichier.txt Bonjour, j'aimerais bêtement insérer du texte dans un fichier avec la commande sed mais je n'y arrive pas... c'est pour mettre dans un script, donc j'aimerais pouvoir faire un truc du genre "sed [argument] 'texte à insérer' fichier_destination" je suis un newbie en linux soyez indulgent ;-) merci ! [jp@Mandrake tmpfs]$ sed '2i\Ceci est une ligne insérée sur la ligne 2\' fichier.txt Bonjour, Ceci est une ligne insérée sur la ligne 2 j'aimerais bêtement insérer du texte dans un fichier avec la commande sed mais je n'y arrive pas... c'est pour mettre dans un script, donc j'aimerais pouvoir faire un truc du genre "sed [argument] 'texte à insérer' fichier_destination" je suis un newbie en linux soyez indulgent ;-) merci ! [jp@Mandrake tmpfs]$ sed -i '2i\Ceci est une ligne insérée sur la ligne 2\' fichier.txt [jp@Mandrake tmpfs]$ cat fichier.txt Bonjour, Ceci est une ligne insérée sur la ligne 2 j'aimerais bêtement insérer du texte dans un fichier avec la commande sed mais je n'y arrive pas... c'est pour mettre dans un script, donc j'aimerais pouvoir faire un truc du genre "sed [argument] 'texte à insérer' fichier_destination" je suis un newbie en linux soyez indulgent ;-) merci ! [jp@Mandrake tmpfs]$La commande avec "-i" (sed -i) c'est pour écrire dans le fichier. La 1ère (sans l'option "-i") ne fait les modifications que sur la sortie standard (l'écran).
Salut,
J'ai trouvé un cours sur cette commande ici : http://www.misfu.com/cours/tutoriel/commande-sed-unix-320.html
J'ai trouvé un cours sur cette commande ici : http://www.misfu.com/cours/tutoriel/commande-sed-unix-320.html
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
30 oct. 2008 à 14:07
30 oct. 2008 à 14:07
Merci ;-))
hssissen
Messages postés
844
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
9 janvier 2017
50
16 déc. 2005 à 16:43
16 déc. 2005 à 16:43
Salut,
Insérer à quel niveau du texte, n'importe?
Insérer à quel niveau du texte, n'importe?
oui n'importe où, car je crée un nouveau fichier vide avec la commande touch juste avant, et c'est ce fichier que j'aimerais remplir.
merci
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
16 déc. 2005 à 16:48
16 déc. 2005 à 16:48
Si tu veux l'insérer à la fin, tu peux faire sans sed, comme çà :
echo "text à insérer" >> fichier_destination
Dal
echo "text à insérer" >> fichier_destination
Dal
Ca marche au poil, j'arrive a remplir mon fichier comme je veux mais il me reste un soucis quand je fais (par exemple) :
echo "ORACLE_HOME=$ORACLE/bin" >> monFichier
Le pb est que le caractète spécial "$" est pris en compte et donc dans mon fichier nommé monFichier j'ai :
ORACLE_HOME=
alors que je devrais avoir : ORACLE_HOME=$ORACLE/bin
Comment faire pour que les # et les $ soit bien pris en tant que chaine de caractère et pas en tant que caractère spéciaux ?
existe il un caractère d'échappement ?
merci !!
echo "ORACLE_HOME=$ORACLE/bin" >> monFichier
Le pb est que le caractète spécial "$" est pris en compte et donc dans mon fichier nommé monFichier j'ai :
ORACLE_HOME=
alors que je devrais avoir : ORACLE_HOME=$ORACLE/bin
Comment faire pour que les # et les $ soit bien pris en tant que chaine de caractère et pas en tant que caractère spéciaux ?
existe il un caractère d'échappement ?
merci !!
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
16 déc. 2005 à 18:15
16 déc. 2005 à 18:15
Essaye echo "ORACLE_HOME=\$ORACLE/bin" >> monFichier
Dal
Dal
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
16 déc. 2005 à 18:14
16 déc. 2005 à 18:14
Re-
Suffit de remplacer les guillemets (" ")par des quotes simples (' '):
Suffit de remplacer les guillemets (" ")par des quotes simples (' '):
[jp@Mandrake tmpfs]$ echo "ORACLE_HOME=$ORACLE/bin" >> monFichier
[jp@Mandrake tmpfs]$ cat monFichier
ORACLE_HOME=/bin
[jp@Mandrake tmpfs]$ echo 'ORACLE_HOME=$ORACLE/bin' >> monFichier
[jp@Mandrake tmpfs]$ cat monFichier
ORACLE_HOME=/bin
ORACLE_HOME=$ORACLE/bin
[jp@Mandrake tmpfs]$
;-))
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
16 déc. 2005 à 18:19
16 déc. 2005 à 18:19
Arf.. oui, c'est bien mieux (s'il n'y a par ailleurs aucune variable à interpréter dans la chaîne).
Dal
Dal
Utilisateur anonyme
31 mai 2007 à 12:40
31 mai 2007 à 12:40
Bonjour tout le monde,
question bête :
ayant testé ces commandes sous AIX, cela ne fonctionne pas apparement, cela serait il destiné pour linux seulement concernant le sed -i
ou alors y a aurait une astuce ?
merci merci
++
poulpoul
question bête :
ayant testé ces commandes sous AIX, cela ne fonctionne pas apparement, cela serait il destiné pour linux seulement concernant le sed -i
ou alors y a aurait une astuce ?
merci merci
++
poulpoul
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 mai 2007 à 13:11
31 mai 2007 à 13:11
Salut,
cela serait il destiné pour linux seulement concernant le sed -i
C'est surtout question de version de sed (GNU sed plus exactement et en version >= 4.0.5).
Le moyen de contourner cette non fonctionnalité, c'est de passer par un fichier temporaire :
cela serait il destiné pour linux seulement concernant le sed -i
C'est surtout question de version de sed (GNU sed plus exactement et en version >= 4.0.5).
Le moyen de contourner cette non fonctionnalité, c'est de passer par un fichier temporaire :
sed 's/foo/bar/' < fich > fich.tmp && mv -f fich.tmp fich;-))
3 févr. 2009 à 23:55
J'ai un petit souci. Voila mon problème,
Je veux modifier, dans un fichier, une ligne avec la commande sed.
Et là je sais pas comment utiliser la commande sed pour le faire.
J'ai besoin de ton aide s'il te plait,
Merci d'avance.
PS: Urgent!!!
4 févr. 2009 à 06:32
Déjà voir dans la FAQ consacrée à SED et puis surtout poser ta question sans quoi...
4 févr. 2009 à 21:46
Merci pour votre réponse et excusez moi pour hier.
Bon là, j'ai un petit souci,
Voila, je fais un script qui dois me comparer l'umask du système à un autre umask que je lui donne. Et si c'est différent, je veux le remettre à sa valeur initiale. Voici, ce que j'ai fait.
#!/bin/bash
umask=`umask`
umask1=0222
if $umask != $umask1; then
umask 0022
fi
Mon souci, c'est que, après l'exécution du script, quand je tape umask sur la console, je vois que le script n'a pas changé le umask. Et ce qui est bizar c'est que quand j'attoute la ligne suivante sur le script, dans le if, echo "la valeur de l'umask est `umask`", il m'affiche la nouvelle valeur, mais dans le système (la console) c'est pas le cas.
Est ce que vous avez des idées de la cause???
S'il vous plait, j'ai besoin de votre aide.
4 févr. 2009 à 07:41
et puis surtout poser ta question sans quoi...
Je dirais même de créer un nouveau message ;-))
PS: Urgent!!!
Petit conseil ;-)
Même si c'est le cas pour toi, il faut eviter d'ajouter ce genre d'information.
Pourquoi?
Que tu précises ou pas si c'est urgent, tu n'auras pas une réponse plus rapide ;-)
Sur ce site il y a que des bénévoles, donc si quelqu'un aura la réponse, alors il te la donneras le plus vite possible, je t'assure.
En revanche une telle précision peut determiner le bénévole de ne pas te répondre ;-) si rapidement ou pas du tout.