gpt4 book ai didi

linux - 使用 Linux 命令修改列中的文本

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:49 24 4
gpt4 key购买 nike

我有一个制表符分隔的文件,其列如下所示。

 chr1    899766  899766  G   T   exonic;exonic   KLHL17  .   nonsynonymous SNV;nonsynonymous SNV

我想删除“;”之后的文本在第 6 列和第 9 列中。输出应如下所示:

chr1    899766  899766  G   T   exonic  KLHL17  .   nonsynonymous SNV

有人可以给出一个 linux 命令来解决这个问题吗?它应该删除“;”之后的所有内容仅在指定的列中。

最佳答案

您可以使用以下sed命令:

sed 's/;[^\t]\+//g' your-log-file > new-file-name

这意味着“删除分号之后直到(但不包括)下一个选项卡的所有内容”。输出将转到new-file-name。如果您想就地编辑your-log-file(一旦您确定该命令按照您希望的方式工作,您可以执行以下操作:

sed -i 's/;[^\t]\+//g' your-log-file

您还可以使用 awk,尽管我对该程序不太熟悉。以下是简要概述:http://www.cyberciti.biz/faq/howto-delete-word-using-sed-under-unix-linux-bsd-appleosx/ .

关于linux - 使用 Linux 命令修改列中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com