Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sed 从bash中的txt文件中删除无用的.0_Sed - Fatal编程技术网

Sed 从bash中的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'文件

如何删除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'文件
详情:

  • -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'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