4

使用 sed

  1. 如何用 NULL 替换 \N

  2. 我怎样才能替换空白空间|| 与 NULL。

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

期望的输出

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

5 回答 5

4

你需要一个稍微修改的版本。像这样的东西适用于 GNU sed:

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

或更便携:

sed -e ':a' -e 's:|\(\\N\)\?|:|NULL|:g' -e 'ta'
于 2013-02-11T20:23:11.350 回答
1

我认为您正在寻找的命令可能称为“tr”。尝试

tr \\n \\0
于 2013-02-11T20:23:49.830 回答
0

用 awk

awk 'gsub("\\\\N","NULL");gsub("\\|\\|","|NULL|")' temp.txt
于 2013-02-12T01:13:58.937 回答
0
<file sed 's/\\N/NULL/g' | awk -F\| '{for(i=2;i<=NF;i++){ if($i==""){ printf "|NULL"} else{  printf "|%s", $i}}; printf "|\n"}'
于 2013-02-11T20:25:32.540 回答
-1

sed -i 's/ /NULL/g' temp.txt

这会将任何空格字符替换为NULL.

于 2021-03-09T22:59:27.917 回答