Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/05/2018, à 14:25

getget

commande echo

Bonjour à tous !

Voici une partie de mon script :

    grep -E [$letter] $1 > temp
    nb=`wc -w temp`
    echo "$nb - $letter"

Ce que je veux, c'est avoir comme résultat affiché NOMBRE - LETTRE (comme 1234 - A ou encore 56789 - Y).
Le problème est que le script m'affiche NOMBRE temp - LETTRE (comme 1234 temp - A ou encore 56789 temp - Y).

J'ai pourtant mis les quotes inversées ` ` pour que la variable nb prenne la valeur de la commande !
Si quelqu'un peux me dire comment faire pour virer ce temp de mon résultat et surtout (et c'est le plus important), m'expliquer le pourquoi du comment, ça serait chouette !

Merci à vous

P.S : j'ai recherché un peu partout mais pas moyen de trouver une réponse

Hors ligne

#2 Le 28/05/2018, à 14:29

AGPArchitecture

Re : commande echo

Et en essayant :

j'essayerais :

nb=$(wc -w "$temp")

parce que temp ne semble pas être traité comme une variable

Hors ligne

#3 Le 28/05/2018, à 14:39

credenhill

Re : commande echo

hello

nb=$(wc -w < temp)

Hors ligne

#4 Le 28/05/2018, à 14:44

getget

Re : commande echo

Merci à vous deux ! credenhill a la solution :-)

En effet AGPArchitecture, temp est un fichier (redirection du grep) et non une variable.

Par contre, credenhill, pourquoi est-ce que je dois rédiger cette ligne de cette façon ? Je pensais que les quotes inversées ` ` suffisaient pour que ma variable nb prenne le valeur de la commande entre celles-ci. D'où la syntaxe du wc comme un wc classique du shell

Hors ligne

#5 Le 28/05/2018, à 14:53

credenhill

Re : commande echo

on lit un fichier

wc -w temp

on lit un flux stdin

wc -w < temp

Hors ligne

#6 Le 28/05/2018, à 14:55

getget

Re : commande echo

Merci de l'info !

Hors ligne

#7 Le 28/05/2018, à 14:58

grandtoubab

Re : commande echo

je dirai plutôt:

> indique vers
< indique depuis

http://www.tuteurs.ens.fr/unix/shell/entreesortie.html

Dernière modification par grandtoubab (Le 28/05/2018, à 14:59)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne