我正在尝试使用bash脚本中的sed修改文件
该文件的格式如下:
asfdsdfad..... : 4.12
aldkfjsadk.... : 3.90
asdlkfjasd.... : 2.33
我想修改文件只包含数字,包括小数。
我想要保留的正则表达式只是[0-9].[0-9][0-9]
目前我一直在尝试使用sed s/[regex]//g
但是,我无法找到正确的正则表达式。所以要么我需要找到一个正确的正则表达式作为上述正则表达式的反转,要么有一个命令来保持正则表达式,而不是删除它。
提前致谢
答案 0 :(得分:2)
您可以尝试以下正则表达式,这将删除所有内容直到数字。
sed 's/^[^0-9]\+//' file
答案 1 :(得分:1)
...替代
cut -d " " -f 3 file.txt
或强>
awk -F " " '{print $3}' file.txt
答案 2 :(得分:1)
sed 's/.*\([0-9]\{1,\}\.\{0,1\}[0-9]*\) *$/\1/' YourFile
只保留数字后跟一个最终的1个点,最后保留在行尾的数字(如果有的话,还删除末尾的空格)
答案 3 :(得分:1)
这可能会:
awk '{$0=$3}NF' file
4.12
3.90
2.33
它也会删除空白行。