ich awk
zu verwenden Ich versuche, den Wert des Classification
Feld NF+1
mit dem Wert des CLINSIG
Feld NF-1
zu ersetzen, wenn dieser Wert Benign
ist. Ich denke, die awk
ist in der Nähe, aber zur Zeit bekomme ich eine leere Datei. Was ist los mit dir?awk Wert des Feldes zu ersetzen, basierend auf einem anderen
Eingang
Chr Start End Ref Alt Func.refGene PopFreqMax CLINSIG Classification
chr1 43395635 43395635 C T exonic 0.12 Benign VUS
chr1 43396414 43396414 G A exonic 0.14 Benign VUS
chr1 172410967 172410967 G A exonic 0.66 VUS
awk
awk -v OFS='\t' '{ if ($(NF-1) == "Benign") sub($(NF+1)=$(NF-1); print $0 }' input
gewünschte Ausgangs
Chr Start End Ref Alt Func.refGene PopFreqMax CLINSIG Classification
chr1 43395635 43395635 C T exonic 0.12 Benign Benign
chr1 43396414 43396414 G A exonic 0.14 Benign Benign
chr1 172410967 172410967 G A exonic 0.66 VUS
Glauben Sie nicht, es wert sei zu erwähnen, und die Buchung der Syntaxfehler Ihre awk-Skript erzeugt? Es könnte uns leichter machen, Ihnen zu helfen. –
Ich entschuldige mich, aber das 'awk' lief es war als @James Brown vermutete, ich bezog mich auf die falsche' NF' Variable. Ich versuche immer noch, dies zu verstehen, da es die Dinge viel einfacher macht. Danke :) – Chris
Das awk-Skript in Ihrer Frage 'awk -v OFS =' \ t '' {if ($ (NF-1) == "Gut") sub ($ (NF + 1) = $ (NF -1); print $ 0} 'input' ** ** kann nicht laufen, da es einen Syntaxfehler enthält. Wenn Sie ein anderes awk-Skript ausgeführt haben, dann sollten Sie sich das natürlich ansehen. –