我正在尝试在行尾附加模式匹配的计数器。
样本输入:
>first_match
a
b
>second_match
c
d
想要的输出:
>first_match,1
a
b
>second_match,2
c
d
我所做的是这样,但我不知道如何添加计数器:
sed '/>.*$/ s/$/,/' file
我注意到您已标记此awk,但仅在sed
.
awk 是一种不同的工具,具有不同的优势和局限性。特别是awk
有一个更一般的变量概念然后sed
确实,这变得非常容易。
尝试:
awk '/^>/{printf("%s,%d\n",$0,++counter);next}{print $0}' file
一个更“尴尬”的解决方案很简单:
awk '/^>/ { $0=$0 "," ++i }1' file
两者都利用了未初始化变量的默认值。