Wie kann man einen Unterstrich durch ein Leerzeichen trennen?

Wie kann man einen Unterstrich durch ein Leerzeichen trennen?

Mir liegen folgende Daten vor:

ID  Affection   rs3117294   rs2747453   rs2747454   rs2747457   rs3131888
D0024949    0   C_C A_G A_G A_A A_G
D0024302    0   A_C A_A A_G A_A A_A
D0023151    0   C_C A_G A_A A_A G_G
D0022042    0   A_C A_A G_G A_A A_A
D0021275    0   C_C A_G A_G A_A A_G
D0021163    0   A_A A_A G_G A_A A_A
D0020795    0   A_A A_A G_G A_C A_G
D0020691    0   A_A A_A G_G A_C A_G
D0019121    0   A_A A_A G_G C_C G_G

Ich möchte den Unterstrich durch ein Leerzeichen ersetzen, sodass aus C_C C C wird.

Wie kann ich das machen? Bitte machen Sie den Code allgemein, damit er auf alle meine Daten angewendet werden kann.

Ich habe von jemandem Folgendes bekommen „nicht mein Code“ sed '1d' plink.raw | sed 's/_/ /g' > plinkv2.raw, aber es hat mir leere Zellen angezeigt, die Daten sind nicht vollständig.

Antwort1

GNU sed:

sed -itmp 's/\(\w\)_\(\w\)/\1 \2/g' file

Dadurch wird das Original überschrieben fileund eine Sicherungskopie gespeichert file.tmp.

POSIX sed:

sed 's/\([[:alpha:]]\)_\([[:alpha:]]\)/\1 \2/g' file > file2

Sie müssen zu einer anderen Datei umleiten. file2Wenn Sie das möchten, kopieren Sie es in das Original.

Beide verwenden das Konzept der „Rückverweise“. Wenn Sie Text im Muster mit \(.. umgeben \), wird er bei der Ersetzung durch \1, \2, usw. verfügbar.

Antwort2

Please find the below command and output

es ersetzt _ durch Leerzeichen in der gesamten Datei

awk '{gsub("_"," ",$0);print $0}' j.txt 
D0024949    0   C C A G A G A A A G
D0024302    0   A C A A A G A A A A
D0023151    0   C C A G A A A A G G
D0022042    0   A C A A G G A A A A
D0021275    0   C C A G A G A A A G
D0021163    0   A A A A G G A A A A
D0020795    0   A A A A G G A C A G
D0020691    0   A A A A G G A C A G
D0019121    0   A A A A G G C C G G

Wenn Sie möchten, dass nur das erste Match ersetzt wird

sed "s/_/ /1" Eingabedatei

Lassen Sie es uns wissen, wenn Sie weitere Informationen benötigen. Bitte geben Sie die richtigen Ein- und Ausgaben an.

verwandte Informationen