ersetzt Leerzeichen nur zwischen Anführungszeichen

8

Ich habe eine Zeile aus der Protokolldatei:

%Vor%

Ich möchte Leerzeichen zwischen Anführungszeichen ersetzen, also könnte ich Spalten mit Leerzeichen als Trennzeichen extrahieren. Das Ergebnis könnte also etwas wie

sein %Vor%

Ich konnte den Arbeitsregex für Sed selbst nicht herausfinden. Vielen Dank für Ihre Hilfe. Martin

    
Martin 31.03.2011, 12:25
quelle

5 Antworten

6

Verlegen Sie Ihre Protokolldatei über diesen awk-Befehl:

%Vor%     
Mackie Messer 31.03.2011 14:14
quelle
2

Danke für alle Antworten.

Dies ist ein Perl-Liner, den ich endlich benutze:

%Vor%

es ergibt sich benötigt

%Vor%

.

    
Martin 31.03.2011 12:53
quelle
1

durch Verwendung von double quote als RS sind alle geraden Datensätze die in doppelten Anführungszeichen. Platz in diesen geraden Datensätzen ersetzen. Da das Ausgabesatz-Trennzeichen standardmäßig ein Zeilenumbruch ist, ändern Sie es in Anführungszeichen.

%Vor%     
siddardha 31.03.2011 19:46
quelle
1

Ruby (1.9 +)

%Vor%     
kurumi 31.03.2011 13:08
quelle
0

Wenn Sie sich entscheiden, sed mit mehr funktionsreichem perl zu tauschen, dann ist hier ein Liner, um zu bekommen, was Sie brauchen:

%Vor%     
anubhava 01.04.2011 02:37
quelle

Tags und Links