Ich habe eine Zeichenfolge wie dieserMit grep für Daten in den Set-Cookie-Header in bash bekommt
SCNT: AAAA + jMzRkQ2NjZGMTU5OTQ4NjcxQTA4OUE0MDk2RUYwRkQwMkU0OERFQjcxRkNFQUE5QzgxRUNFMkY5NzI3QjBFMjNGNTk1MTMyNjg3NDIyMkFBQzVFREJDNzdBNkI4RDNGNzVDMzVCMjIzMDNDNjhBODgzODhDOTFFNzIyNDkzMEY1RjZEQTQ0Mjc3NDYyQzJCNjI3Qjc3RTQ1Mjc2QTU2NzdCNEVCQTAwNTdFQ0Q0ODcxMDkyRUQ4OTJDNUJBNEYyNjk4NTE5NUQxMzlFQjFCMEFFRjZGODM2ODUxQkU2MEY3RDkzQTFGQUY5N0ZCRjg2NXwxAAABYG1QuD47akz0XdTR/c2RN1Q + RHpX2shK2V9u476rlbhG/c8f72E/Z5TaFIDuA Set-Cookie: aidsp = 33FD666F159948671A089A4096EF0FD02E48DEB71FCEAA9C81ECE2F9727B0E23F5951326874222AAC5EDBC77A6B8D3F75C35B22303C68A88388C91E7224930F5F6DA44277462C2B627B77E45276A5677B4EBA0057ECD4871092ED892C5BA4F26985195D139EB1B0AEF6F836851BE6;
Ich möchte beetween nur die Zeichenfolge nehmen
Set-Cookie: aidsp = thisstring;
Ich habe es mit diesem Befehl versucht
sessionID="$(echo "$resp" | awk -F[=";"] '{print $2}')"
aber das funktioniert nicht.
Ihre awk würde wahrscheinlich mit ein wenig massiert arbeiten. Die Beispieldaten, die Sie gepostet haben, sehen so aus, als ob der gewünschte Wert nicht in "$ 2" enthalten ist, aber es ist nicht klar, ob es richtig formatiert ist. – tripleee
'-F [="; "]' ohne zu quotieren wird das Falsche tun, wenn Sie eine Datei im aktuellen Verzeichnis namens '-F =' oder '-F;' haben. Dies ist ein unwahrscheinlicher Fall, aber genau die Situation, die fast unmöglich zu debuggen ist, bis Sie verstehen, was vor sich geht. Sie möchten das Argument in einfache Anführungszeichen setzen, um zu vermeiden, dass die Shell irgendwelche Spielereien mit Ihnen spielt. '-F '[=;]'' (ohne Anführungszeichen um das Semikolon herum, weil Sie sie vermutlich dort platzieren, um zu verhindern, dass die Shell das Semikolon interpretiert), verhindert, dass die Shell eine Glob-Erweiterung auf dem Wert ausführt. – tripleee