我有这个:
M6#pro [439640..444247 ][gbkey=CDS]
M6#pro [444328..445335 ][gbkey=CDS]
M6#pro [445407..445772 ][gbkey=CDS]
我想用数字序列代替 pro 一词,所以输出为:
M6#1 [439640..444247 ][gbkey=CDS]
M6#2 [444328..445335 ][gbkey=CDS]
M6#3 [445407..445772 ][gbkey=CDS]
是否可以使用sed做到这一点?我尝试了这个 sed's / pro / NR /',但是它没有产生数字序列。
答案 0 :(得分:1)
您可以尝试这个。
even less than 1
将awk '{sub(/pro/, NR)}1' file
替换为pro
(已处理的记录数-基本上是到当前行为止已处理的行数),并替换为NR
答案 1 :(得分:0)
如果您对perl
感到满意,请尝试执行以下操作。
perl -pe 'BEGIN{$A=1;} s/pro/$A++/ge' Input_file
答案 2 :(得分:0)
如果“ d”文件中的数据,请在gnu awk上尝试:
awk -F'pro' '{print $1 NR $2}' d