Re: Supprimer espace en bash
Le 12/02/16 à 16:29, Jerome Flescha écrit : JF> Bonjour, JF> JF> Si vous êtes sûr qu'il n'y aura jamais d'autres espaces dans la JF> valeur, 'tr' peut s'en charger facilement : JF> JF> ipnew=$(echo "${ipnew}" | tr -d " ") JF> JF> Sinon, avec sed: JF> JF> ipnew=$(echo "${ipnew}" | sed 's/^ *//g') ou encore avec bash seul, sans lancer de sous-shell echo ${ipnew// /} ou pour modifier la variable de manière permanente ipnew=${ipnew// /} Cf la partie ${var//Motif/Remplacement} de http://abs.traduc.org/abs-fr/ch10s02.html -- Daniel Les allemands sortent la première voiture qui se boit après manger : l'Audi cointreau. Les nuls
Re: Supprimer espace en bash
Le Fri, 12 Feb 2016 16:24:09 +0100, andre_deb...@numericable.fr a écrit : > Bonjour, > > Dans un fichier exécutable bash, j'ai une variable : > $ipnew=" 192.168.0.2" > Comment supprimer l'espace au début (avant 192) ? > > J'ai tenté ceci : > sed -i 's/^ *//g' $ipnew > mais il me répond : > "sed: impossible de lire 192.168.0.2: Aucun fichier ou dossier de ce > type" (il interprète 192.168.0.2 comme un fichier) > > Merci. > > André > bonjour, serait il possible d'employer tr ? http://www.linux-france.org/article/man-fr/man1/tr-1.html slt bernard
Supprimer espace en bash
Bonjour, Dans un fichier exécutable bash, j'ai une variable : $ipnew=" 192.168.0.2" Comment supprimer l'espace au début (avant 192) ? J'ai tenté ceci : sed -i 's/^ *//g' $ipnew mais il me répond : "sed: impossible de lire 192.168.0.2: Aucun fichier ou dossier de ce type" (il interprète 192.168.0.2 comme un fichier) Merci. André
Re: Supprimer espace en bash
Bonjour, Si vous êtes sûr qu'il n'y aura jamais d'autres espaces dans la valeur, 'tr' peut s'en charger facilement : ipnew=$(echo "${ipnew}" | tr -d " ") Sinon, avec sed: ipnew=$(echo "${ipnew}" | sed 's/^ *//g') Le 12 février 2016 à 16:24,a écrit : > Bonjour, > > Dans un fichier exécutable bash, j'ai une variable : > $ipnew=" 192.168.0.2" > Comment supprimer l'espace au début (avant 192) ? > > J'ai tenté ceci : > sed -i 's/^ *//g' $ipnew > mais il me répond : > "sed: impossible de lire 192.168.0.2: Aucun fichier ou dossier de ce type" > (il interprète 192.168.0.2 comme un fichier) > > Merci. > > André >
Re: Supprimer espace en bash
On Friday 12 February 2016 16:29:46 you wrote: > Si vous êtes sûr qu'il n'y aura jamais d'autres espaces dans la > valeur, 'tr' peut s'en charger facilement : > ipnew=$(echo "${ipnew}" | tr -d " ") > Sinon, avec sed: > ipnew=$(echo "${ipnew}" | sed 's/^ *//g') Merci ! Je retiens la méthode et la syntaxe. > Le 12 février 2016 à 16:24,a écrit : > > Dans un fichier exécutable bash, j'ai une variable : > > $ipnew=" 192.168.0.2" > > Comment supprimer l'espace au début (avant 192) ? > > J'ai tenté ceci : > > sed -i 's/^ *//g' $ipnew > > mais il me répond : > > "sed: impossible de lire 192.168.0.2: Aucun fichier ou dossier de ce type" > > (il interprète 192.168.0.2 comme un fichier)