Text ersetzen an spezifischer Position in Zeile einer Datei
Ich benötige euer Schwarmwissen.
Ausgangslage ist eine Textdatei mit Inhalt wie:
Es handelt sich hierbei, wie man sich fast denken kann um Baseninformationen. Nun möchte ich die Informationen aus $3 (Trennzeichen ,) pro Zeile ersetzen. Die Basen müssen hierbei reverse komplementär zusammen gebaut werden.
Ich dachte da an so etwas:
Das funktioniert grundsätlich auch aber mir ist nicht ganz klar, wie ich das sinnvoll mit 'sed und awk umsetzen kann.
Ausgangslage ist eine Textdatei mit Inhalt wie:
FOO,GAAGTTGG,CGAACAAC,AN
FOO,GAAGTTGG,CGAACAAC,AN
FOO,GAAGTTGG,CGAACAAC,AN
Es handelt sich hierbei, wie man sich fast denken kann um Baseninformationen. Nun möchte ich die Informationen aus $3 (Trennzeichen ,) pro Zeile ersetzen. Die Basen müssen hierbei reverse komplementär zusammen gebaut werden.
Ich dachte da an so etwas:
tr ACGT TGCA | rev
Das funktioniert grundsätlich auch aber mir ist nicht ganz klar, wie ich das sinnvoll mit 'sed und awk umsetzen kann.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7724060540
Url: https://administrator.de/contentid/7724060540
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar
awk -F',' '
function revcomp(arg) {
o = ""
for(i = length(arg); i > 0; i--)
o = o c[substr(arg, i, 1)]
return(o)
}
BEGIN {c["A"] = "T"; c["C"] = "G"; c["G"] = "C"; c["T"] = "A" ; OFS=","}
{print $1,$2,revcomp($3),$4}
' test.txt >datei_neu.txt