我有以下矩阵:
select *
from data
where dates >= '2016-01-01' and dates <= '2016-01-03'
我想只更换零而不是零,然后点数为0.001,我怎么能用sed或gsub呢?
答案 0 :(得分:1)
这不是优雅,也不是超级便携,但它适用于您的具体示例:
sed -e 's=^0 =X =g
s= 0$= X=g
s= 0 = X =g' data.txt
首先,它假定输入文件中的字段由一个或多个空格分隔。第一部分在行的开头查找“0”,第二部分在行的末尾查找第二部分,第三部分查找“0”,两边都有空格。
任何特殊原因只能使用sed吗?我确信一个简单的awk
脚本可以做得更好,也更健壮。
答案 1 :(得分:-1)
在替换中匹配空格。
echo 0 0.001504 0 0.998496 | sed 's/0[\t ]/Z /g'