Code: Alles auswählen
awk '/>f+++++++++/ {$1=""; $2=""; $3=""; $4=""; print $0}' log001.txt > 001.txt
Code: Alles auswählen
awk '/>f+++++++++/ {$1=""; $2=""; $3=""; $4=""; print $0}' log001.txt > 001.txt
Indem du die vier Leerzeichen noch wegschneidest:katze123 hat geschrieben:07.12.2018 18:19:49Wenn ich folgenden Befehl ausführehat jede Zeile von 001.txt vier Leerzeichen am Anfang. Ich möchte diese Leerzeichen aber nicht, jede Zeile soll mit dem Inhalt der fünften Spalte beginnen. Wie muss ich meinen Befehl verändern?Code: Alles auswählen
awk '/>f+++++++++/ {$1=""; $2=""; $3=""; $4=""; print $0}' log001.txt > 001.txt
Code: Alles auswählen
awk '/>f+++++++++/ {$1=""; $2=""; $3=""; $4=""; sub(/^ /,""); print $0}' log001.txt > 001.txt
Code: Alles auswählen
<log01.txt egrep '>f+++++++++' | cut -d' ' -f 5- >001.txt
Es geht um ein rsync-logfile, die Fehlermeldungen sollen nicht in 001.txt eingetragen werden.Meillo hat geschrieben:07.12.2018 18:50:27Auf was genau soll eigentlich die RE />f+++++++++/ matchen?
Dafuer ist die RE falsch. AWK verwendet EREs, dort ist `+' ein Quantifier.
Code: Alles auswählen
$ awk '/>f+++++++/' /tmp/foo
>f+++++++++
>ffff
>ffff+
>ffff+++++
Code: Alles auswählen
grep '>f+++++++++' | cut ...
Code: Alles auswählen
<log01.txt sed -n '/>f+++++++++/s/^\([^ ]* \)\{4\}//p' >001.txt
Code: Alles auswählen
<log01.txt sed -n 's/^.*>f+++++++++ //p' >001.txt