2016-10-29 4 views
1

Ich verstehe nicht die Ausführung, wenn ?? und * zusammen verwendet werden.Ausführung von ls Befehl in Linux

Die folgenden Dateien werden im aktuellen Arbeitsverzeichnis:

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

Was ist das Ergebnis nach der Ausführung des Befehls ls a??.*

+1

Was meinst du "was ist das Ergebnis der Rückkehr"? Was ist passiert, als du es versucht hast? – Gary

+0

In diesem Muster kombinieren die Wild Cards recht intuitiv. Es wird kompliziert, wenn Sie das '.' Zwischen ihnen entfernen, oder haben Sie das '' 'nach dem' * '. – Thilo

Antwort

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

Für exemples

Pattern a??.* matches abc.txt 

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

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

- (a, a)
- (?, B)
- (?, C)
- aber. Dont 'passt mit d

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

Die Fragezeichen werden in ein beliebiges Zeichen übersetzt, aber das * wird in mehrere Zeichen übersetzt. Ihr Beispiel erzeugt nur abc.txt und amm.doc. Schauen Sie sich Shell Globbing an, wenn Sie mehr wissen möchten.