【发布时间】:2020-10-04 19:31:41
【问题描述】:
我正在尝试在终端上编写一个单行命令来计算一个非常大的文件中所有唯一的 "gene-MIR"。 "gene-MIR" 后面是一系列数字 ex。 gene-MIR334223、gene-MIR633235、gene-MIR53453 ... etc,还有多个相同的 "gene-MIR" 例如。 gene-MIR342433 可能会在脚本中出现 10x。
我的问题是,如何编写一个命令来注释我的文件中存在的唯一“gene-MIR”?
目前我使用的命令是:
-
grep -c "gene-MIR" myfile.txt | uniq -
grep "gene-MIR" myfile.txt | sort -u
第一个命令为我提供了一个计数;但是,我认为它不包括 "MIR" 之后的数字系列,而只是计算存在多少 "gene-MIR" 本身。
谢谢!
【问题讨论】:
-
请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。
-
grep -c计算与模式匹配的行数,因此如果一行包含该模式两次,则计数仅增加一。grep不带选项打印与模式匹配的整行,因此根据输入,sort将看到不相关的上下文。如前所述,您必须展示有代表性的样本输入。 -
您好!很抱歉造成误解,我在原帖中附上了一张照片,基本上,在图像中你可以看到红色突出显示的区域,我正在尝试为该区域“gene-MIR”编码,我希望它包含以下数字“米尔”前。 “gene-MIR8061”并且有多个相同的,我希望我的命令计算一次。 @BenjaminW。
-
示例显示不同的“gene-MIR8061”后跟-3、-4、-5之一;那些被认为是唯一的并且要单独计算?或者可能忽略每个 -3/-4/-5 并将它们全部一起计算?
-
我想忽略 -3/-4/-5 等,只计算“MIR”示例“gene-MIR8061”后面的数字。 @Milag