Signification des commandes linux suivantes

Résolu/Fermé
isolo - 25 mai 2012 à 14:51
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 26 mai 2012 à 11:15
Bonjour,

que fait la commande cat | grep "^[\^#\$]" cat 2>dev/null |wc -l
en le tapant sur ma ligne de commande, j'obtiens rien, il y a juste le curseur qui clignotte...
on dirais qu'il attent que j'entre quelque chose

pouvez vous m'expliquer sil vous plait la signification de cette commande ?
Merci
<config>Windows 7 / Safari 536.5</config>
A voir également:

2 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
25 mai 2012 à 16:46
Salut,
il vaut mieux savoir à quoi sert la commande AVANT de la taper !
Exemple A NE SURTOUT PAS EXÉCUTER : si je te dit de taper
sudo rm -R /

est-ce que tu sais ce que ça fait ? (*)

Alors :
cat - Concaténer des fichiers et les afficher sur la sortie standard
| - "tuyau" redirigeant la sortie de la commande à sa gauche vers l'entrée de la commande à sa droite.
grep - Afficher les lignes correspondant à un motif donné
2> - Redirige la sortie d'erreur standard vers un fichier
/dev/null - fichier de périphérique virtuel acceptant n'importe quoi et n'en faisant rien.
wc - Afficher le nombre de lignes, de mots et d'octets d'un fichier

Pour plus d'information sur une commande, utilise la commande man
(=manuel d'utilisation), par exemple
man cat

Ta commande est sensée compter le nombre de ligne commençant par un des caractères ^, # ou $, si une erreur survient le message disparaît dans les limbes de /dev/null. Mais tu as dû te tromper en la recopiant, il manque un / et cat est doublé :
cat | grep "^[\^#\$]" 2>/dev/null | wc -l


La commande cat n'ayant pas d'argument elle attend des données sur l'entrée standard : ce que tu tapes dans la console. Pour en sortir, après avoir entré les données, appuie 2 fois sur Ctrl+D (=End Of File), le nombre de lignes filtrées est affichée, ou appuie sur Ctrl+C pour quitter.

Si tu veux lui faire compter le nombre de ces ligne dans un fichier, la syntaxe peut être :
(cat | grep "^[\^#\$]" 2>/dev/null | wc -l)< /chemin/dossier/fichier


Bonne continuation !

(*) sudo = do as super-user. Donne tous les droits à ce qui suit après avoir demander le mot de passe utilisateur
rm = remove. Avec l'option -R supprime récursivement en descendant les répertoires
/ = dossier racine contenant tous les fichiers et les partitions montées
Donc cette commande supprime la totalité des fichiers de ton ordinateur...
0
je te remercie beaucoup Flachy Joe...tu es vraiment extraordinaire, en plus tes explications sont vrément trés claire...
Merci au fond du coeur...!
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
26 mai 2012 à 11:15
De rien.
Pense à marquer le sujet comme résolu.
0