Ich habe eine Datei mit Genen im folgenden Format. Ich möchte die Datei verarbeiten und jede Zeile ein Gen anzeigen lassen (die mehreren Gene in einer Zeile in mehrere Zeilen trennen).set " x3b" als Trennzeichen
C10orf32
C10orf32,C10orf32-ASMT
C19orf33\x3bYIF1B
C19orf73,LIN7B
C19orf73,PPFIA3\x3bLIN7B
habe ich den folgenden Befehl ein und setzen will "" und "\ X3B" als Trennzeichen, aber "\ X3B" ist immer noch in der Ausgabedatei, wie unten gezeigt
awk 'BEGIN {FS=",|\x3b";} {for (i=1;i<=NF;i++) {print $i}}' file.txt
Ausgang:
C10orf32
C10orf32
C10orf32-ASMT
C19orf33\x3bYIF1B
C19orf73
LIN7B
C19orf73
PPFIA3\x3bLIN7B
aber ich will
C10orf32
C10orf32
C10orf32-ASMT
C19orf33
YIF1B
C19orf73
LIN7B
C19orf73
PPFIA3
LIN7B
Was mache ich falsch?
'\ x3b' ist ein Escape-Code; Awk behandelt es als das Zeichen [Semikolon] (http://www.fileformat.info/info/unicode/char/3b/index.htm). Wenn Sie den umgekehrten Schrägstrich des Literals, Buchstabe x, Ziffer 3, Buchstabe b wollen, müssen Sie den umgekehrten Schrägstrich verdoppeln, um ihn zu umgehen. – tripleee
Danke. Ich verdoppelte das \\ mit dem folgenden Befehl, aber es funktioniert nicht awk 'BEGIN {FS = ", | \\ x3b";} {für (i = 1; i <= NF; i ++) {print $ i}} 'file.txt –
Ich habe auch das gawk versucht, aber es funktioniert auch nicht. –