Étant donné un fichier test.txt
avec le contenu suivant:Exécuter commande bash dans la sortie awk et commande d'impression
ABC DEF GATTAG GHK
ABC DEF GGCGTC GHK
ABC DEF AATTCC GHK
la 3ème colonne doit être modifiée, de sorte que la chaîne est complément inverse. Une partie de cela peut être fait avec une commande bash:
cat test.txt | cut -f3 | rev | tr ATGC TACG
CTAATC
GACGCC
GGAATT
Comment cela peut-il être mis en œuvre avec awk
?(il y a un script awk plus grand pour le traitement des dossiers, qui cette fonction sera ajoutée.)
Une façon possible que cela pourrait être fait est en exécutant rev | tr ATGC TACG
à l'intérieur de awk
, semblable à:
awk '{newVar=system("rev | tr ATGC TACG"$3); print $1 $2 newVar $4}' test.txt
Cependant, cette version et diverses versions similaires ne fonctionnent pas. Quelqu'un peut-il signaler ce qui est incorrect?
fyi: http://awk.freeshell.org/ ne fonctionne pas, trouvé un instantané sur https://web.archive.org/web/20170524214527/http://awk.freeshell.org/AllAboutGetline – Sundeep
Ouais J'ai remarqué qu'il est parti il y a environ un mois.J'avais commencé à utiliser cette référence après que awk.info soit parti. Peut-être que c'est mieux référencé dans la vue google groups du groupe usenet comp.lang.awk où je l'ai effectivement posté: https://groups.google.com/forum/message/raw?msg=comp.lang.awk/2TA76BVODz4/Q9TkehK_tWYJ –
suggestion: peut être créer un github repo ou gist ou similaire, ou un wiki communautaire ici .. – Sundeep