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;
Oui, en effet, je voulais faire ça : donner la valeur d'une variable à manger à
sed.
Et je n'ai même pas de fichier mais une variable à traiter.
J'avais créé un fichier pour tenter de débloquer la situation avec une
situation plus connue avec sed.
TRUC est fournie par un traitement précédent
> Le jeudi 04 novembre 2021 à 18:19 +0100, ajh-valmer a écrit :
> > Quelle clé USB WiFi est bien détectée et installable sous Linux,
> > (de préférence sous Debian Buster et Bullseye) ?
On Thursday 04 November 2021 19:47:34 didier gaumet wrote:
> J'ai un Netgear AC1200 (famille de produits) A6210
> $ 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
J'ai bien compris l'effet des guillemets/double quotes sur les LF. C'est
limpide.
mais je crois que c'est un autre sujet.
Je pense avoir trouvé la solution, comme expliqué plus loin.
Ce que j'ai essayé d'expliquer c'est que:
- si la commande sed prend comme argument un nom de fichier, alors
Le jeudi 04 novembre 2021 à 18:19 +0100, ajh-valmer a écrit :
> Hello à tous,
>
> Quelle clé USB WiFi est bien détectée et installable sous Linux,
> (de préférence sous Debian Buster et Bullseye) ?
>
> Merci d'avance.
>
> A. Valmer
>
>
J'ai un Netgear AC1200 (famille de produits) A6210
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
Hello à tous,
Quelle clé USB WiFi est bien détectée et installable sous Linux,
(de préférence sous Debian Buster et Bullseye) ?
Merci d'avance.
A. Valmer
Bonjour,
Je réagis rapidement :
Ma commande sed fait le boulot attendu en CLI si je prends un nom de fichier en
argument, lequel fichier contient la chaîne multilignes à traiter.
Elle ne le fait pas quand je veux lire la chaîne multilignes qui est la MEME
chaîne multilignes, qui est la valeur
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'imprimer la ligne, puis d'insérer une copie de la ligne
Bonjour,
Bien compris en ce qui concerne les LF. Merci pour ce rappel utile ( echo "$A"
ou echo "${A}" )
( DOMAIN contient la valeur [ http://toto.com/ | http://toto.com/ ] )
Ceci fonctionnne ;
$ sed '/^abc\|^$/! { p; s|^| -> '"${DOMAIN}"'|g }' mon_fichier
(affiche le résultat visé)
$
Bonjour,
Il s'agit d'imprimer la ligne, puis d'insérer une copie de la ligne en insérant
au début de chaque ligne " -> " et la chaîne suivante
DOMAIN=http://toto.com/
Chaque ligne contient un nom de fichier
$ cat mon_fichier
foo
bar
baz
truc
machin
Il s'agit d'obtenir ceci
$ cat
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
14 matches
Mail list logo