2013-02-11 68 views
5

使用sed的SED與NULL

  1. 更換空的空間,我怎麼可以替換NULL

  2. 我怎樣才能更換空的空間\ n ||與NULL。

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

所需的輸出

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

回答

2

你需要的this略加修改。像這樣的東西應該工作:

sed ':a; s:|\(\\N\)\?|:|NULL|:g; ta' 
+0

簡單,但!作品!謝謝 – Deano 2013-02-11 20:28:38

1

我認爲你要查找的命令可能被稱爲「tr」。嘗試

tr \\n \\0 
+0

標題問題的最佳答案(儘管它沒有回答描述中的具體問題) – Lambart 2017-11-30 22:36:48

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

也有效,非常感謝! – Deano 2013-02-11 20:28:21

0

使用awk

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