Re: Supprimer espace en bash

2016-02-15 Par sujet Daniel Caillibaud
Le 12/02/16 à 16:29, Jerome Flesch  a é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

2016-02-12 Par sujet Bernard Schoenacker
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

2016-02-12 Par sujet andre_debian
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

2016-02-12 Par sujet Jerome Flesch
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

2016-02-12 Par sujet andre_debian
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)