我有一个包含以下标头的文件。
LESlike5.fasta_LESlike5|6543350|2181116|74|Aca1|1.9e-49|167.1|567531|567602|1|1|1702592|1702805|1697592|1707805
由于标头太长,我无法在内部prokka中注释文件。因此,我希望标头如下所示:
LESlike5.fasta_1702592_1702805_1697592_1707805
我知道sed命令可能有用,但是我不能删除特殊字符'|'通过使用sed。我尝试删除sed 's/|/'
,但没有工作。如何编辑标题?
答案 0 :(得分:2)
使用awk:使用|
和_
作为输入字段分隔符(FS
)和_
作为输出字段分隔符(OFS
)并首先打印( $1
)和最后四列。 $NF
包含最后一列。
awk 'BEGIN{FS="[|_]"; OFS="_"} {print $1,$(NF-3),$(NF-2),$(NF-1),$NF}' file
输出:
LESlike5.fasta_1702592_1702805_1697592_1707805