Regex-Abgleich im Shell-Skript
645
monster
Hier ist ein Ausschnitt aus meinem Shell-Skript -
regex="<version>([0-9]*)\.([0-9]*)\.([0-9]*)([^<]*)<\/version>.*" #some unrelated lines of code echo $(grep -m 1 "<version>" $1) if [[ $(grep -m 1 "<version>" $1) =~ $regex ]] then main_version = "$" feature_version = "$" patch_version = "$" tag = "$" else echo "$1: Version not Found" >&2 fi
Aber es zeigt mir die folgende Ausgabe -
<version>1.1.7-release</version> <!-- ABC version --> abc/xyz/pom.xml: Version not Found
Aber nach meinem Verständnis regex
sollte es mit der Ausgabe von übereinstimmen grep
(ich habe es zur besseren Übersicht an das Terminal gesendet). Kann also jemand sagen, was ich falsch mache?
Ich habe dies in einer Datei ausprobiert, die Ihre Sachen enthält, und es stimmt überein ... Was ist Ihre Bash-Version? (bash --version)
tonioc vor 5 Jahren
0
Und was genau ist die Ausgabe von "grep"? `echo $ (grep ...)` beeinflusst die Ausgabe auf verschiedene Weise (tatsächlich ist 'echo $ (somecommand) `fast immer eine schlechte Idee). Versuchen Sie `grep ... | LC_ALL = C cat -vet` - Der Befehl `cat` konvertiert eine Vielzahl normalerweise unsichtbarer Zeichen in sichtbare Formen und fügt am Ende jeder Zeile ein" $ "hinzu, damit Sie sehen können, wo sie sich befinden.
Gordon Davisson vor 5 Jahren
0
Ich habe den Fehler gefunden, der durch `export -f custom_function` verursacht wurde, um die custom_function in` xargs` zu verwenden, und natürlich war das aboce-Snippet Teil von custom_funcion. Danke, dass Sie Ihre Zeit haben
monster vor 5 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4