假设我在文件中有以下内容:
ASD22
0.00133272
ASD23
0.00176711
ASD24
0.00175753
我想截断每个数字(忽略其余的数字)来得到类似的东西:
ASD22
0.0013
ASD23
0.0017
ASD24
0.0017
保持输出文件的“列外观”。 是否有一种简单而紧凑的方式来使用像sed或awk这样的东西?
答案 0 :(得分:3)
sed 's/\([0-9]\.[0-9]\{4\}\)[0-9]\{1,\}/\1/' YourFile
0.
开头,或者前面有空格,则此部分不会改变答案 1 :(得分:1)
$ cut -c1-6 file
ASD22
0.0013
ASD23
0.0017
ASD24
0.0017
答案 2 :(得分:1)
这个awk可以工作:
awk '$1 == ($1+0) {$1 = sprintf("%0.4f", $1-0.00005)} 1' file
ASD22
0.0013
ASD23
0.0017
ASD24
0.0017
$1-0.00005
是为了避免舍入浮点数。
答案 3 :(得分:0)
尝试grep
:
$ grep -Eo "^.{,6}" file.txt
ASD22
0.0013
ASD23
0.0017
ASD24
0.0017