Es gibt viele Möglichkeiten, Zeichenfolgen in der Shell abzufangen.
${expression} hat insgesamt 9 Möglichkeiten, es zu verwenden.
${parameter:-word}
${parameter:=word}
${parameter:?word}
${parameter:word }
Die oben genannten 4 Typen können verwendet werden, um den Standardwert zu ersetzen.
${#parameter}
Die obige Methode kann die Länge der Zeichenfolge ermitteln.
${parameter%word} Minimales Abfangen des Wortes von hinten
${parameter%%word} Maximales Abfangen des Wortes vom Ende
${parameter#word } Minimum Begrenzen Sie das Abfangen von Wörtern
${parameter##word} von vorne. Maximieren Sie das Abfangen von Wörtern
von vorne. Die oben genannten 4 Methoden werden zum Abfangen von Zeichenfolgen verwendet.
Bei vier Verwendungen ist es nicht erforderlich, den Schnittbefehl zum Abfangen von Zeichenfolgen zu verwenden.
Die erste kann in vier Situationen unterteilt werden, die im Folgenden einzeln vorgestellt werden.
1. Verwenden Sie den #-Operator. Der Zweck besteht darin, das erste Vorkommen der Teilzeichenfolge von links, also die Zeichen auf der linken Seite, zu löschen und die Zeichen auf der rechten Seite beizubehalten. Verwendung ist #*substr, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${str#*//}
Das erhaltene Ergebnis ist www.yourdomain.com/cut-string.html, d. h. alle Zeichen von links bis zum ersten „//“ und seiner linken Seite werden gelöscht. 2. Verwenden Sie den ##-Operator. Der Zweck besteht darin, das letzte Vorkommen der Teilzeichenfolge von links, also ihr linkes Zeichen, zu löschen und das rechte Zeichen beizubehalten. Verwendung ist ##*substr, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${str##*/ }
Das erhaltene Ergebnis ist „cut-string.html“, d. h. das zuletzt erscheinende „/“ und alle Zeichen links davon werden gelöscht
3. Verwenden Sie den %-Operator. Der Zweck besteht darin, das erste Vorkommen der Teilzeichenfolge von rechts, also die Zeichen auf der rechten Seite, zu löschen und die Zeichen auf der linken Seite beizubehalten. Die Verwendung ist %substr*, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${str%/*}
Das erhaltene Ergebnis ist http://www.Ihr Domainname.com, das heißt, löschen Sie alle Zeichen von rechts bis zum ersten „/“ und seiner rechten Seite
4 %%-Zeichenoperator. Der Zweck besteht darin, das letzte Vorkommen der Teilzeichenfolge von rechts, also ihr rechtes Zeichen, zu löschen und das linke Zeichen beizubehalten. Verwendung ist %%substr*, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${str%%/* }
Das erhaltene Ergebnis ist http://www.Ihr Domainname.com, d. h. alle Zeichen von rechts bis zum letzten „/“ und der rechten Seite werden gelöscht
Der zweite Typ ist auch in vier Typen unterteilt, die wie folgt eingeführt werden:
1 Welches Zeichen beginnt von links und die Anzahl der Zeichen ist: start:len, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${var:0:5}
Die 0 steht für den Anfang des ersten Zeichen auf der linken Seite und die 5 stellt das Zeichen für die Gesamtzahl dar.
Das Ergebnis ist: http:
2 Vom linken Zeichen bis zum Ende lautet die Verwendung: start, zum Beispiel:
str='http://. www.yourdomain.com/cut-string.html'
echo ${var:7}
Die 7 bedeutet, dass mit dem 8. Zeichen auf der linken Seite begonnen wird
Ergebnis Es ist: www.yourdomain.com/cut-string.html
3. Welches Zeichen beginnt von rechts und die Anzahl der Zeichen: 0-start:len, zum Beispiel:
str='http://www.yourdomain.com/cut-string.html'
echo ${str:0-15:10}
0- 6 bedeutet, ab dem 6. zu beginnen Zeichen von rechts, und 10 bedeutet die Anzahl der Zeichen.
Das Ergebnis ist: Cut-String
4. Vom rechten Zeichen bis zum Ende, Verwendung: 0-start, zum Beispiel:
str='http: //www.yourdomain.com/cut-string.html'
echo ${str:0-4}
wobei 0-6 das 6. Zeichen von rechts darstellt. Anfangs steht 10 für die Anzahl der Zeichen.
Das Ergebnis ist: html
Hinweis: (Das erste Zeichen links wird durch 0 dargestellt, und das erste Zeichen rechts wird durch 0-1 dargestellt)