Sed替换特定的子串

时间:2016-12-16 13:04:51

标签: sed

我有一个生成的文件作为SQL查询的输出。我需要用空格替换文件中的空值,所以类似于 sed -e"s/null//g"会奏效。

但是,有一个有效的字符串形式' null /' (带有正斜杠)并且不应该被替换。有没有办法只替换' null'离开' null /'完整?

2 个答案:

答案 0 :(得分:2)

sed one-liner:

sed 's#null\([^/]\|$\)#\1#g' file

应该符合您的要求。

搜索模式:null and followed by a non-slash char (or EOL)

替换为followed non-slash char

因此,null/不会被触及。

答案 1 :(得分:0)

我认为这个命令应该足够了:

sed -e "s/null[^/]//g"