linux 中删除每一列中指定字符之后的所有内容

 

001、 删除a.txt中每一列中=号后面的所有内容

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt                    ## 测试数据
AC=2    AF=1.00 AN=2    DP=131
AC=2    AF=1.00 AN=2    DP=152
AC=2    AF=1.00 AN=2    DP=210
AC=2    AF=2.00 AN=4    DP=244
AC=2    AF=1.00 AN=2    DP=242
AC=2    AF=1.00 AN=2    DP=240
AC=2    AF=1.00 AN=2    DP=243
[root@PC1 test]# sed 's/=\S\+[[:space:]]/\t/g' a.txt      ## 删除除最后一列外等号后面的所有内容
AC      AF      AN      DP=131
AC      AF      AN      DP=152
AC      AF      AN      DP=210
AC      AF      AN      DP=244
AC      AF      AN      DP=242
AC      AF      AN      DP=240
AC      AF      AN      DP=243
[root@PC1 test]# sed 's/=\S\+[[:space:]]/\t/g' a.txt | sed 's/=.*//'    ## 删除最后一列等号后面的所有内容
AC      AF      AN      DP
AC      AF      AN      DP
AC      AF      AN      DP
AC      AF      AN      DP
AC      AF      AN      DP
AC      AF      AN      DP
AC      AF      AN      DP

 

posted @ 2022-12-08 00:32  小鲨鱼2018  阅读(793)  评论(0编辑  收藏  举报