Bonsoir,
Merci pour ces précisions.
- Mail original -
De: "Marc Chantreux"
À: "roger tarani"
Cc: "Liste Debian"
Envoyé: Vendredi 5 Novembre 2021 07:29:45
Objet: Re: Récupérer le résultat d'une commande sed dans une variable ou un
fichier : problème.
5 Novembre 2021 01:42:48
Objet: Re: Récupérer le résultat d'une commande sed dans une variable ou un
fichier : problème...
Le Fri, Nov 05, 2021 at 12:31:13AM +0100, roger.tar...@free.fr a écrit :
>
> Comment expliquer que la commande prend un fichier comme argument :
> sed
salut,
Le Fri, Nov 05, 2021 at 12:31:13AM +0100, roger.tar...@free.fr a écrit :
> Et je n'ai même pas de fichier mais une variable à traiter.
de manière générale:
* passe par des pipes ou des fichiers plutot que des variables
* utilise tee et mkfifo quand le probleme d'aiguillage est complexe.
>
Le Fri, Nov 05, 2021 at 12:31:13AM +0100, roger.tar...@free.fr a écrit :
>
> Comment expliquer que la commande prend un fichier comme argument :
> sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' monfichier #SUCCES
>
> mais refuse de prendre la valeur d'une variable ?
> sed '/^abc\|^$/! { p; s
eur de type ?
Par exemple, l'argument est un fichier qui contient une chaîne de caractère Vs
une chaîne de caractère d'une variable.
Merci encore
De: "Marc Chantreux"
À: "roger tarani"
Cc: "Liste Debian"
Envoyé: Jeudi 4 Novembre 2021 22:09:11
Obj
> $ TRUC=$(cat monfichier)
> $ RES=$(sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' "$TRUC")
> sed: can't read
> abc-
> foo
> bar
>
> abc-
> baz
> : No such file or directory:
>
>
> Idem avec :
> $ sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' "$TRUC"
>
>
> ***
> Je me dis
ttp://toto.com/foo
bar
-> http://toto.com/bar
abc-----
baz
-> http://toto.com/baz
Ça marche mais ne nous arrêtons pas là.
Quelle explication rigoureuse peut-on donner de ce phénomène ?
Merci
Cordialement
Roger
- Mail original -
De: "Marc Chantreux"
À: "roger t
Le Thu, Nov 04, 2021 at 05:18:00PM +0100, roger.tar...@free.fr a écrit :
En préambule:
<<. cat > monfichier
abc-
foo
bar
abc-
baz
.
Maintenant je peux mettre en évidence l'importance des quotes dans
l'interpolation:
set $( grep -v abc monfichier )
echo $# argument dont le premier est $
e or directory:
***
Je me dis donc qu'il faut donner à sed l'argument qu'il attend, cad un nom de
fichier, ce qui n'est pas le cas, car il cherche à ouvrir un fichier qui
n'existe pas "No such file or directory".
***
Merci
Cordialement
RT
- Mail origina
Bonjour,
> J'ai tenté diverses expressions, comme par exemple dans une variable :
> RES=$( sed '/^abc\|^$/! { p; s|^| -> '$DOMAIN'|g }')
* pas testé mais je doute que ton script passe avec autre chose que GNU sed.
* c'est très généralement une mauvaise idée de ne pas protéger le
résultat d'une
- Mail original -
> De: "roger tarani"
> À: "Liste Debian"
> Envoyé: Jeudi 4 Novembre 2021 14:43:01
> Objet: Re: Récupérer le résultat d'une commande sed dans une variable
> ou un fichier : problème...
> Bonjour,
> Il s'agit d'
la semble indiquer que le problème à
résoudre est le suivant :
Quelle est la syntaxe à respecter pour l' argument de sed, cad non pas un nom
de fichier (qui contient la chaîne à traiter), mais une variable , ici TRUC
(qui contient la chaîne à traiter) ?...
Merci
cordialement
RT
De:
s, puis à faire le traitement décrit
(conserver la ligne et insérer la ligne avec une substitution)
Je ne vois pas bien comment faire avec grep ?
Merci à toi
Cordialement
Roger
De: "Bernard Schoenacker"
À: "roger tarani"
Envoyé: Jeudi 4 Novembre 2021 04:12:30
O
Bonjour,
C’est normal avec l’affichage d’une variable contenant des LF. Ce serait la
même chose avec un :
A=$(ls)
Une piste tient dans la façon que vous utilisez pour afficher le résultat de la
variable. En effet, un
echo ${A}
comme vous le faite n’affichera pas la même chose qu
Bonjour,
Dans un script (bash 5.0.3(1), debian 10), je tente de récupérer le résultat
d'une commande sed dans une variable.
DOMAIN=http://toto.com/
sed '/^abc\|^$/! { p; s|^| -> '$DOMAIN'|g }' mon_fichier
Dans la commande, le séparateur de la substitution est | car avec / il y a un
conflit
15 matches
Mail list logo