[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Regular expression



On Di, Januar 9, 2007 11:29, Gebhard Dettmar wrote:
> On Tuesday 09 January 2007 01:46, David Haller wrote:
>> Komplizierter als nötig ;) Du kannst direkt in der Adresse
>> selektieren. Du verwendest das leere Muster, d.h. der Block wird
>> auf jede Zeile angewendet.
> Verstehe ich nicht: liegt es nicht daran, dass if($0~"2006\n") nichts matcht? 

Der Unterschied ist, dass ich mit meinem Script wirklich jede Zeile
anschaue und mit der if-Abfrage mich auf das Muster "2006\n"
beschränke, während David gleich mit dem Muster 2006$ nur die in Frage
kommenden Zeilen bearbeitet und nur dann sich noch die nächste
Eingabezeile holt. 

> Das hab ich auch nicht kapiert, wie man das Newline da reinbringt:
> ich hab in der Manpage nach Substitution geguckt und sub(r,s) und
> gsub(r,s) gefunden -
> awk '{ gsub(2006\n, "2006") ; print }' <datei> 
> bringt: 1: unexpected character '\' Heißt das, dass es mit direktem
> Replacement nicht geht (also Newline mit 2006)?

Ich verstehe das so, dass awk immer zeilenweise arbeitet, ähnlich sed,
weshalb die Ersetzung mit "\n" nicht funktioniert.
Außerdem müsste es wohl gsub("2006\n", "2006") heißen.

Grüße,
Christian
-- 
hundred-and-one symptoms of being an internet addict:
58. You turn on your computer and turn off your wife.



Reply to: