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.

#26 Le 21/04/2011, à 09:35

johndo

Re : Quelle est la commande shell pour afficher ce résultat?

aduxas a écrit :

Ceci dit, j'ai l'impression que siho a décroché!

je pense qu'il s'agissait d'un exercice d'un professeur. Et dans ce cas, la solution attendue était quelque chose comme ça :

grep -ihwc 'h.*' /etc/*|awk ' {a+=$0} END { print a }'

Hors ligne

#27 Le 21/04/2011, à 15:50

aduxas

Re : Quelle est la commande shell pour afficher ce résultat?

aduxas a écrit :

Rediriger les erreurs sur /dev/null corrige ce problème.

Faux.  Le message "Binary file xxx" est standard out.  Il faut le filtrer avec

grep -o '\<h' /etc/* | grep -v Binary\ file | wc -l

Hors ligne

#28 Le 22/04/2011, à 00:38

wsc

Re : Quelle est la commande shell pour afficher ce résultat?

[flo@wsc ~]$ echo "là-haut" | grep -o '\<h'
h

-o n'était pas forcément la bonne idée.

Ici on a un mot qui commence par l et il match, idem avec n'importe quel mot qui débute par un caractère spécial.

Sinon en Français une "découpe" de mot en fin de ligne est représenté par un - et aucune des propositions vérifient si on a un -\n pour raccrocher le restant du mot avant de le tester
phosp-
hore
(ici c'est pas bon car on coupe une syllabe, mais avec un autre type de lettre plus facile à placer on peut avoir encore un faux positif)


#!/bin/crash
SYS="Arch Linux avec FVWM Crystal"
echo -e "\nMon site internet et le weB-log ... \nMon système: $SYS \n\n"
sleep 2 && exit 0

Hors ligne

#29 Le 22/04/2011, à 01:47

aduxas

Re : Quelle est la commande shell pour afficher ce résultat?

Pour moi, là-haut, ce sont bien deux mots dont un commence par h. D'accord pour la découpe, mais je ne pense pas que /etc contient des fichiers avec des mots découpés...  voire autre chose que de l'Anglais.  Remarque, ceci n'a rien à voir avec l'option -o, qui ne fait qu'imprimer les chaînes trouvées.  Une autre remarque:  il est possible de filtrer les fichier binaires avec la commande "file", si nécessaire.

Hors ligne

#30 Le 22/04/2011, à 04:47

wsc

Re : Quelle est la commande shell pour afficher ce résultat?

aduxas a écrit :

je ne pense pas que /etc contient des fichiers avec des mots découpés...  voire autre chose que de l'Anglais.

Sous arch linux le dossier /etc/nginx/html dispose d'un lien symbolique vers /srv/http/nginx , dans ce cas si on le prend en compte (ce que grep fait naturellement) on ne se retrouve plus dans de la configuration système mais sur un dossier web, donc on sort de la limite "Anglais".

Après c'est jouer sur les possibilités, et je pense que l'auteur a suffisamment de réponses pour trouver ce qui lui convient.


#!/bin/crash
SYS="Arch Linux avec FVWM Crystal"
echo -e "\nMon site internet et le weB-log ... \nMon système: $SYS \n\n"
sleep 2 && exit 0

Hors ligne