2017-06-29 5 views
-2

Ich habe diese Saitebash: regex Extraktion

export FOO="/home/u4589/something.git" 

Wie kann ich etwas aus dieser Zeichenfolge extrahieren?

In diesem Fall möchte ich die Zahl nach dem Buchstaben u extrahieren.

+2

Sah man auf jeder der Q/A zurückgegeben beim Suchen nach '[bash] extract regex from string'? Etwa 50 Artikel. Bitte!!! – shellter

Antwort

0

Bash nur

FOO="/home/u4589/something.git" 
FOO=${FOO%/*} 
echo ${FOO#*u} 
4589 
0

Dies ist eine sehr spezifische Anforderung. Und die Lösung, die Sie erhalten, funktioniert möglicherweise nicht für einen etwas anderen Weg. Sie sollten zuerst die Grundlagen der regex

überprüfen jedoch die Lösung für das jeweilige Problem Sie präsentiert haben, ist

echo "$FOO" | sed -E 's#^.*/u([[:digit:]]*)/.*$#\1#' 
4589