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,但它也不起作用。 –