sed + wie man das zweite Wort (string) nach "=" separator by sed bekommt

8

Wie bekomme ich das zweite Wort (String) nach "=" Trennzeichen durch sed (Leerzeichen müssen ignoriert werden)

zum Beispiel

%Vor%

Ich sollte string2

bekommen

ein anderes Beispiel

%Vor%

Ich sollte 123

bekommen     
lidia 22.07.2010, 11:19
quelle

3 Antworten

12

Ich glaube, awk ist eine bessere Lösung für diesen Fall, einfach verwenden.

%Vor%     
Anders 22.07.2010, 11:23
quelle
6
%Vor%

Und wie wäre es damit, wenn Sie lesen, wie man sed / awk verwendet?

    
ghostdog74 22.07.2010 11:37
quelle
3

Diese Antwort ist pure GNU SED:

%Vor%

ich ändere ein bisschen die Zeichenkette, weil es möglich ist, mehr Wörter zu haben, die Regeln werden sich ändern, wenn dieses Wort nicht das letzte ist.

Lasst uns das erklären:

  1. .*= : alle Zeichen vor dem Gleichheitszeichen.
  2. .*= /? : Das ist der Hauptteil, nach dem ich eine leere Stelle belasse Raum und ich setze das /?, das bedeutet ein oder null Ereignisse, weiß es nicht wenn Sie hier einen Platz lassen.
  3. [a-zA-Z0-9]* alle Vorkommen von a-z A-Z 0-9, das Wort (string1).
  4. \([a-zA-Z0-9]*\) bekommt wieder alle ocurities von a-zA-z0-9, das zweite Wort.
  5. \).* all die anderen Sachen.
  6. // gibt alle Dinge aus, die zwischen \ (\).
  7. liegen

Ich hoffe, das hilft jemandem.

    
Lyoneel 04.11.2013 09:48
quelle

Tags und Links