Le . du shell

Résolu/Fermé
zulul Messages postés 22 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 4 juin 2007 - 3 févr. 2005 à 13:17
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 4 févr. 2005 à 11:53
Bonjour,

j'ai une commande que je n'arrive pas à interpréter :

ls -a|grep "^\..."

> il me retourne la liste des .f et ../

. veut-il dire aussi n'importe quel car ?

quelqu'un pourrait-il m'expliquer comment le shell interprète ce qu'il y a entre "" ?
A voir également:

4 réponses

Utilisateur anonyme
3 févr. 2005 à 13:29
oui le point c'est n'importe quel caractère.

dis-nous plutôt la chaîne que tu veux que ton grep renvoie
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
3 févr. 2005 à 13:41
Salut,

Lister toute chaine commençant par un point suivie de n'inmporte quel caractère pour les deux premiers.
^ = la chaine "^\..." doit se trouver en début de ligne
\. = le caractère "\" protège le caractère "." (point) pour l'inclure dans la recherche
.. = n'importe quel caractère des 2 premiers suivant le point
0
ben c'etait juste pour savoir si le . par defaut ne voulait pas dire le repertoire courant. Mais comme c'est un meta car. de grep, vos reponses me convienne...

En fait c'est pour trouver la commande qui va exclure ./ et ../ à tous les coups dans le resultat du ls

C'est pas encore gagné :)

a+
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
4 févr. 2005 à 10:29
En fait c'est pour trouver la commande qui va exclure ./ et ../ à tous les coups dans le resultat du ls
Ben "ls" tout court sans le paramètre "-a" devrait le faire ;-)))
Si tu y tiens absolument :
ls -a | grep "^[^\...]"
;-)
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
4 févr. 2005 à 11:53
Plus simple
ls -A
--> listera les fichiers commençant par '.' mais pas '.' ni '..'
0