2013-02-11 13 views
5

sed leeren Raum mit NULL ersetzen

  1. sed Wie kann ich \ N mit NULL

  2. Wie kann ich ersetzen den leeren Raum ersetzen || mit NULL.

    |200|0||0|\N||^A|0|\N|| 
    

gewünschte Ausgangs

|200|0|NULL|0|NULL|NULL|^A|0|NULL|NULL| 

Antwort

2

Sie benötigen eine leicht modifizierte Version von this. Etwas wie dieses sollte funktionieren:

+0

einfache, aber! funktioniert! danke – Deano

1

Ich denke, der Befehl, den Sie suchen, könnte "tr" heißen. Versuchen

tr \\n \\0 
+0

Beste Antwort für die Frage im Titel (obwohl es die spezifische Frage in der Beschreibung nicht beantwortet) – Lambart

1
cat file | sed 's/\\N/NULL/g' | awk -F\| '{for(i=2;i<=NF;i++){ if($i==""){ printf "|NULL"} else{ printf "|%s", $i}}; printf "|\n"}' 
+0

arbeitete auch, danke so viel! – Deano

0

mit awk

awk 'gsub("\\\\N","NULL");gsub("\\|\\|","|NULL|")' temp.txt