是否有用于删除尾随小数位的shell命令?

时间:2017-04-29 16:14:29

标签: shell unix

我有一个看起来像这样的文件:

sx1.1_1.0.loc.08905.3
sx1.1_1.0.loc.08906.3
sx1.1_1.0.loc.08907.2
sx1.1_1.0.loc.08908.3
sx1.1_1.0.loc.08909.4
sx1.1_1.0.loc.08910.1

我希望它看起来像这样:

sx1.1_1.0.loc.08905
sx1.1_1.0.loc.08906
sx1.1_1.0.loc.08907
sx1.1_1.0.loc.08908
sx1.1_1.0.loc.08909
sx1.1_1.0.loc.08910

有没有人知道快速的一个班轮来做到这一点?谢谢。

2 个答案:

答案 0 :(得分:3)

如果字段数未知:

sed 's/\.[^.]*$//' file

匹配表达式\.[^.]*$说明:

  1. \.匹配一个点
  2. [^.]*匹配任何不包含点的字符序列
  3. $匹配行尾

答案 1 :(得分:2)

没关系,我找到了答案:

cut -d. -f-5