2016-05-12 11 views
-4

Ich habe eine Datei in /home/{user}/client.log.Suchen Sie ein Wort in einer Datei und drucken Sie es in bash

clinet.log enthält ein Werk lcid. Wie kann ich ein Wort finden lcid in einer Datei client.log und drucken Sie es mit bash.

+1

Sie grep verwenden können – 123

+0

habe ich grep 'lcid' client.log und es zurück, "lcid": "6a3953a9f93a49fab513b1c1a48a5ac9" aber ich will nur den Wert von lcid in ohne Zitat – Zaf

+0

Blick in Die grep man-Seite – 123

Antwort

0

den folgenden Befehl verwenden: grep "lcid" . -R

+0

Vielen Dank user3579415 – Zaf

0

Okay, mit den zusätzlichen Informationen, die Sie diese zur Verfügung gestellt werden für Dich den Trick:

sed -n "s/.*lcid.:.\(\w*\)./\1/p" client.log 
  • -n - nicht drucken
  • s - ersetzen
  • . * - übereinstimmen alles
  • lcid - wörtliche Übereinstimmung
  • . - mit jedem einzelnen Zeichen übereinstimmen
  • : - wörtliche Übereinstimmung
  • . entsprechen ein beliebiges Zeichen
  • \ - (- beginnen Einfanggruppe eine
  • \ w * - eine beliebige Anzahl von Wortzeichen
  • \) - Ende einer Einfanggruppe
  • . entspricht ein einzelnes Zeichen
  • \ 1 - - ersetzen mit Capture-Gruppe eines
  • p - ausdrucken

Lassen Sie mich wissen, ob das hilft.

0

Vielen Dank. Ich habe das mit dem folgenden Befehl funktioniert

grep 'lcid' client.log | cut -d '"' -F4

Verwandte Themen