Columns

如何刪除“。”後的字元(點)在第一列?

  • February 22, 2021

我想刪除“。”之後的字元 在我的文件的第一列中,如下所示:

location    LR  alpha
14884399.000000 0.471193    3.029710e+01
14904434.024291 0.440564    1.300841e-05
14924469.048583 0.356903    1.329721e-05

我希望它看起來像這樣:

location    LR  alpha
14884399    0.471193    3.029710e+01
14904434    0.440564    1.300841e-05
14924469    0.356903    1.329721e-05

我已經嘗試了這 2 個,它們可以工作,但刪除了第二列和第三列:

echo ${input_var} | sed 's/\.[^ ]*/ /g' chr22.E.Asia.clrout

cat chr22.E.Asia.clrout | sed chr22.E.Asia.clrout col=1 's/\.[^ ]*/ /g' > new_chr22.E.Asia.clrout```

非常感謝您!

從評論看來,您已經解決了,但是,這裡還有另外幾種方法:

sed -E 's/(^[[:digit:]]+)\.[[:digit:]]+([[:space:]]+)/\1\2/g' file

或者awk

awk '{ sub(/\.[[:digit:]]+/, " ", $1) }1' file

引用自:https://unix.stackexchange.com/questions/635880