Sed 从bash中的txt文件中删除无用的.0
如何删除txt数字文件中无用的“.0”字符串 如果我有这个文件:Sed 从bash中的txt文件中删除无用的.0,sed,Sed,如何删除txt数字文件中无用的“.0”字符串 如果我有这个文件: 43.65 24.0 889.5 5.0 32.14 32.0 900.0 6.0 38.27 43.0 899.4 5.0 我想得到: 43.65 24 889.5 5 32.14 32 900 6 38.27 43 899.4 5 我试过:sed's |\.0 | | g',但这显然不适用于新行和EOF 在不使用python的情况下有什么建议吗?您可以使用 sed-E的,([0-9])\.0($|)),\1\2,g'文件
43.65 24.0 889.5 5.0
32.14 32.0 900.0 6.0
38.27 43.0 899.4 5.0
我想得到:
43.65 24 889.5 5
32.14 32 900 6
38.27 43 899.4 5
我试过:sed's |\.0 | | g'
,但这显然不适用于新行和EOF
在不使用python的情况下有什么建议吗?您可以使用
sed-E的,([0-9])\.0($|)),\1\2,g'文件
详情:
-启用POSIX ERE语法-E
-在组1中查找并捕获一个数字,然后匹配([0-9])\.0($)
,然后在组2中匹配并捕获一个空格或字符串结尾.0
-替换为组1+组2串联值\1\2
-替换所有事件g
s='43.65 24.0 889.5.0
32.14 32.0 900.0 6.0
38.27 43.0 899.4 5.0'
sed-E's,([0-9])\.0($),\1\2,g'您可以使用
sed-E的,([0-9])\.0($|)),\1\2,g'文件
详情:
-E
-启用POSIX ERE语法
([0-9])\.0($)
-在组1中查找并捕获一个数字,然后匹配.0
,然后在组2中匹配并捕获一个空格或字符串结尾
\1\2
-替换为组1+组2串联值
g
-替换所有事件
见:
s='43.65 24.0 889.5.0
32.14 32.0 900.0 6.0
38.27 43.0 899.4 5.0'
sed-E,([0-9])\.0($),\1\2,g'这可能适合您(GNU-sed):
或
删除任何后跟零和单词边界的句点。这可能适用于您(GNU-sed):
或
删除任何后跟零和单词边界的句点
sed 's/\.0\b//g' file
sed 's/\.0\>//g' file