小编pin*_*ino的帖子

使用 AWK 抓取每个元素第 N 次出现的位置

这是文件:

AAACGCTGTGTCATTG-1-pere,1,2
AAACGCTTTGTCATTG-1-pere,3,6
AAACGCTATGTCATTG-1-pere,3,4
AAACGCTCTGTCATTG-1-mele,2,1
AAACGCTFTGTCATTG-1-pere,5,8
AAACGCTHTGTCATTG-1-mele,5,3
AAACGCTJTGTCATTG-1-mele,9,8
AAACGCTKTGTCATTG-1-arance,7,7
AAACGCTVTGTCATTG-1-arance,1,1
Run Code Online (Sandbox Code Playgroud)

我只想为文件中的每个元素第二次出现,如下所示:

AAACGCTTTGTCATTG-1-pere,3,6
AAACGCTHTGTCATTG-1-mele,5,3
AAACGCTVTGTCATTG-1-arance,1,1
Run Code Online (Sandbox Code Playgroud)

$1 中字符串的第一部分是可变的,因此无关紧要。我所说的“发生”是指“pere”、“mele”、“arance”这些词。因此,对于文件中的每个“不同元素(在本例中为 pere、mele arance),我们希望输出第 N 个出现的整行。我们不想“选择”出现,而只是选择每个“不同”元素该文件需要出现在输出中,但只是第 N 次出现(例如,第 2 次)。

我试图修改这个命令来做到这一点:

awk -F, 'a[substr($1,20)]++<1'  
Run Code Online (Sandbox Code Playgroud)

像这样:

awk -F, 'a[substr($1,20)]++=2'
Run Code Online (Sandbox Code Playgroud)

但不起作用。

awk extract

3
推荐指数
1
解决办法
60
查看次数

标签 统计

awk ×1

extract ×1