Retour ligne Shell

Résolu/Fermé
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011 - 21 févr. 2011 à 11:10
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011 - 21 févr. 2011 à 17:19
Bonjour,
J'ai un problème que j'essaie de résoudre depuis vendredi en vain. En fait j'écris un shell, ou je dois insérer avec sed une ligne puis un retour à la ligne puis une autre ligne:
sed s/lign_remplacer/ligne1\nligne2/g fichier > fichier;
Le problème c'est que le retour à la ligne n'est pas reconnu, et j'obtiens juste ligne1nligne2.
j'ai doublé le double slash, j'obtiens la meme chose, quand je le tripel, j'obtiens ligne1\nligne2.
Je précise que j'utilise Putty pour me connecter sur le serveur, je n'ai pas le choix de l'outil malheuresuement.
Merci pour votre aide.

6 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 11:25
Salut,

Quel système d'exploitation sur ton serveur ?
Quelle version de "sed" ?

Essaie avec le code ASCII :

sed 's/lign_remplacer/ligne1\x0Aligne2/g' fichier > fichier

C'est un ZERO et non pas un O majuscule...
0
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011
21 févr. 2011 à 11:30
Toujours le meme problème: il m'affiche ...ligne1x0Aligne2...
Comment savoir la version du serveur et de la commande sed stp?
Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 11:37
Pour le serveur sais-tu au moins si c'est du GNU/Linux ou de l'UNIX ?

Essaie :

lsb_release -a
ou
cat /etc/{release,version,issue}


Pour "sed" :

sed --version
0
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011
21 févr. 2011 à 11:53
la commande que vous m'avez donné n'a pas marché, j'ai essayé la commande oslevel, ça a donné: 5.2.0.0.
uname -a a donné : AIX xxxxx 2 5 .....
POur sed la commande n'a pas marché.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 12:02
Effectivement sur AIX "sed" est plutôt capricieux ;-((

Essaie comme ça :

sed 's/lign_remplacer/ligne1\<ENTREE>
ligne2/g' fichier > fichier


<ENTREE> est à exécuter pas à entrée littéralement, hein ? ;-))
0
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011
21 févr. 2011 à 12:08
Pourriez vous m'expliquez plus cette histoire d'entrée svp?
merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 12:12
Après l'anti slash tu appuies sur Entrée et tu continues le reste de la syntaxe à la ligne.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011
21 févr. 2011 à 12:17
Ei si j'ai un shell?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 12:19
Tu tapes <Entrée> sans l'anti-slash avant ;-)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 févr. 2011 à 12:22
Enfin non, j'ai peut être dit une c**nerie, tu fais de même avec l'anti-slash et le <Entrée> ;-)
0
bibitun Messages postés 10 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 6 avril 2011
21 févr. 2011 à 17:19
ça marché mais en rajoutant un autre anti slash: \\
Merci beaucoup pour cette aide, tu m'as sauvé ma journée! :-)
0