将“\ x3b”设置为分隔符

时间:2016-07-25 15:48:00

标签: awk delimiter

我有一个包含以下格式的基因的文件。我想处理文件并使每一行显示一个基因(将一行中的多个基因分成多行)。

C10orf32
C10orf32,C10orf32-ASMT
C19orf33\x3bYIF1B
C19orf73,LIN7B
C19orf73,PPFIA3\x3bLIN7B

我使用了以下命令,并希望将“,”和“\ x3b”设置为分隔符,但“\ x3b”仍在outfile中,如下所示

awk 'BEGIN {FS=",|\x3b";} {for (i=1;i<=NF;i++) {print $i}}' file.txt 

输出:

C10orf32
C10orf32
C10orf32-ASMT
C19orf33\x3bYIF1B
C19orf73
LIN7B
C19orf73
PPFIA3\x3bLIN7B

但我想要

C10orf32
C10orf32
C10orf32-ASMT
C19orf33
YIF1B
C19orf73
LIN7B
C19orf73
PPFIA3
LIN7B

我做错了什么?

1 个答案:

答案 0 :(得分:0)

awk 'BEGIN {FS=",|\\\\x3b"} {for (i=1;i<=NF;i++) {print $i}}' file.txt

这很有效。 我不确切地知道为什么,只是很多时候双反斜杠会再次起作用......