2016-10-29 3 views
1

Je ne comprends pas l'exécution lorsque ?? et * sont utilisés ensemble.Exécution de la commande ls sous Linux

Les fichiers suivants sont dans le répertoire de travail courant:

abc.txt
abcd.txt
bcd.txt
amm.doc
ammc.txt

Qu'est-ce que est le résultat de retour après l'exécution de la commande ls a??.*

+1

Que voulez-vous dire par "quel est le résultat de retour"? Qu'est-il arrivé quand vous l'avez essayé? – Gary

+0

Dans ce modèle, les jokers se combinent assez intuitivement. Cela devient compliqué quand vous supprimez le '.' entre eux, ou avez le'? 'Après le' * '. – Thilo

Répondre

0
* Matches any string, including the null string (empty string) 
? Matches any single character 

Pour exemples

Pattern a??.* matches abc.txt 

- (a, a)
- (?, B)
- (?, C)
- (.,.)
- (*, txt)

Pattern a??.* don't matches abcd.txt 

- (a, a)
- (?, B)
- (?, C)
- mais. ne correspond pas à d

Pattern a??.* don't matches bcd.txt because a don't matches with b. 
0

Les points d'interrogation se traduiront par un caractère mais le caractère * se traduira par plusieurs caractères. Votre exemple produira uniquement abc.txt et amm.doc. Recherchez Shell Globbing si vous voulez en savoir plus.