如何计算给定的值:第一列包含 Contig 值
Contig
c_000000000002
c_000000000002
c_000000000002
c_000000000002
c_000000000003
c_000000000003
c_000000000003
c_000000000003
c_000000000008
c_000000000008
c_000000000013
c_000000000013
Run Code Online (Sandbox Code Playgroud)
我想计算列中的值并找到重叠群的相应值。“Contig”和“Count_of_Contig”应该用制表符分隔。
Contig Count_of_contig
c_000000000002 2_1
c_000000000002 2_2
c_000000000002 2_3
c_000000000002 2_4
c_000000000003 3_1
c_000000000003 3_2
c_000000000003 3_3
c_000000000003 3_4
c_000000000008 8_1
c_000000000008 8_2
c_000000000013 13_1
c_000000000013 13_2
Run Code Online (Sandbox Code Playgroud)
我想为此请求一个单行linux命令。标头不必出现在输出中。此处展示只是为了轻松理解输出。
轻松使用awk
:
awk -F _ -v OFS='\t' '
NR == 1 {print $0, "Count_of_contig"; next}
{print $0, 0+$2 "_" ++count[$0]}' < input_file
Run Code Online (Sandbox Code Playgroud)