0
我有一个包含以下格式的基因的文件。我想处理文件,并使每行显示一个基因(将多个基因在一行中分成多行)。将“ x3b”设置为分隔符
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
我在做什么错?
'\ x3b'是一个转义代码; Awk将其视为字符[分号](http://www.fileformat.info/info/unicode/char/3b/index.htm)。如果你想要字符串反斜杠,字母x,数字3,字母b,你需要加倍反斜杠,以逃避它。 – tripleee
谢谢。我使用以下命令将\\加倍,但它不起作用awk'BEGIN {FS =“,| \\ x3b”;} {for(i = 1; i <= NF; i ++){print $ i}} 'file.txt –
我也尝试了gawk,但它也不起作用。 –