Schneiden Sie einen Text zwischen //-Symbolen aus.

Schneiden Sie einen Text zwischen //-Symbolen aus.

ich habe einige der folgenden Saiten

  • 2-0 854 0/413/5963 W 65,19 0 0 0,0 4,76 115,86
    ::1 www.example.com GET /server-status HTTP/1.1
  • 2-0 854 0/413/5963 W 65,19 0 0 0,0 4,76 115,86
    ::1 www.example.com GET /server-status HTTP/1.1

und ich möchte die folgende Ausgabe: -

  • Serverstatus HTTP

  • Serverstatus HTTP

Antwort1

versuchen

awk

.... | awk -F/ '{print $4}'

Wo

  • -F// als Trennzeichen verwenden
  • print $4viertes Feld

grep

grep -o "[^/]*HTTP"

Wo

  • -oeinzige übereinstimmende Zeichenfolge
  • [^/]*HTTPjedes Zeichen, /auf das kein HTTP folgt

Antwort2

Versuche dies

awk -F/ '/GET/{print $2}' input.txt

verwandte Informationen