Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2007, 00h57   #1
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Par défaut Insérer une ligne avec sed

Bonjour

Logiquement, cela devrait être facile d'insérer une ligne à un emplacement précis avec sed. Je n'y arrive pas

Voici le code:
Code :
sed -i.old -e "380i\'sysutils/fastest_cvsup' => 'WITH_ROUNDTRIPE=1',\n" /usr/local/etc/pkgtools.conf

J'obtiens le message suivant:
Code :
sed : 1: "380i\'sysutils/fastest_c ...": extra characters after \ at the end of i command
Pourriez-vous me donner un coup de main svp ?

Merki
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 11h41   #2
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
C'est pas une histoire d'interprétation ou pas du "\n" ?

Tu cherche a faire quoi exactement ?
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 11h50   #3
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Citation:
Envoyé par SnakemaN
Tu cherche a faire quoi exactement ?
Je souhaite insérer dans un fichier à la ligne 380 du texte comme coucou. Même si tu supprimes le \n, cela ne fonctionne pas.
Code :
sed -i.old -e "380i\coucou" /usr/local/etc/pkgtools.conf
J'obtiens toujours le même message:
Code :
extra characters after \ at the end of i command
Merki
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 12h09   #4
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102

Ben regarde par toi même :

Code :
1
2
3
julien@julien-desktop:~$ touch test.txt
julien@julien-desktop:~$ gedit test.txt 
julien@julien-desktop:~$ sed -i.old -e "2i\coucou" test.txt

contenu de test.txt :


avant:
Code :
1
2
3
4
5
 
blablabla
blablabla
blablabla
blablabla
apres:
Code :
1
2
3
4
5
blablabla
coucou
blablabla
blablabla
blablabla
contenu de test.txt.old :
Code :
1
2
3
4
5
blablabla
coucou
blablabla
blablabla
blablabla


(edit)
Essaye sans le "-e" pour voir, justement a propos de l'interprétation de ce "\n"
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 12h11   #5
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Code :
sed -i.old -e "2i\coucou" test.txt
Cette même commande chez moi sous FreeBSD ne fonctionne pas
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 12h13   #6
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Citation:
Envoyé par Olivier Regnier
J'obtiens le message suivant:
Code :
sed : 1: "380i\'sysutils/fastest_c ...": extra characters after \ at the end of i command
Pour ça, rajoute un \ devant le \n pour voir...

(edit) Sous BSD, ça ne fonctionnerai pas pareil ?
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 13h33   #7
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Julp m'a conseillé d'installer gsed (GNU sed) sous FreeBSD et tout fonctionne comme sur des roulettes
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 14h08   #8
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Citation:
Envoyé par Olivier Regnier
Julp m'a conseillé d'installer gsed (GNU sed) sous FreeBSD et tout fonctionne comme sur des roulettes
Donc il y a bel et bien des différences notable entre BSD et Linux
C'est cool, j'aurai appris un truc
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h46.


 
 
 
 
Partenaires

Hébergement Web