2016-02-05 61 views
1

我有一個管道分隔符文件,其中我需要用空白替換NULL字符串。 文件非常大,大約9 GB,包含200萬條記錄,並有150列由管道分隔。用空白替換NULL字符串模式

PQR|NULL|NULL|NULL ABC|ABC NULL XYZ|XYZ NULL|NULL 

所需的輸出

PQR|||NULL ABC|ABC NULL XYZ|XYZ NULL| 

回答

3

使用perl您可以使用向前看符號此:

perl -pe 's/(?<=\|)NULL(?=\||$)//g' file 

輸出:

PQR|||NULL ABC|ABC NULL XYZ|XYZ NULL| 

如果沒有perl不那麼這個sed也應該工作:

sed 's/|NULL|/||/g; s/|NULL\(|\|$\)/|\1/g' file 

輸出:

PQR|||NULL ABC|ABC NULL XYZ|XYZ NULL| 
+1

謝謝!!!!!!! – Saurabh