Dans un fichier ex=E9cutable bash, j'ai une variable :
$ipnew=3D" 192.168.0.2"
Comment supprimer l'espace au d=E9but (avant 192) ?
J'ai tent=E9 ceci :
sed -i 's/^ *//g' $ipnew
mais il me r=E9pond :
"sed: impossible de lire 192.168.0.2: Aucun fichier ou dossier de ce type"
(il interpr=E8te 192.168.0.2 comme un fichier)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bernard Schoenacker
Le Fri, 12 Feb 2016 16:24:09 +0100, 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)
Le Fri, 12 Feb 2016 16:24:09 +0100,
andre_debian@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)
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)
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')
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')
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')