2022awk6回答例

下記の文章を出力するようにawkを記述せよ

  a. 「C:\Users\user1\Documents」
  b. 「5' UTR, 3' UTR」
  c. 「"Hello world!"」
awk 'BEGIN{print "C:\\Users\\user1\\Documents"}'
awk 'BEGIN{print "5'"'"' UTR, 3'"'"' UTR"}'
awk 'BEGIN{print "\"Hello world!\""}'

1.以前使用した、take.blastn.txtの2列目にはRで読み込むと意図しない結果になる文字(#)やほかのプログラムでエラーになりそうな文字が含まれている。2列目の下記の文字をすべて「_」に置換せよ。タブ区切りは維持すること。

# ' ( )

http://www.suikou.fs.a.u-tokyo.ac.jp/yosh_data/2018train/take.blastn.txt

2.とあるプログラムを使うためにtake.blastn.txtの2列目の遺伝子名を「“」で囲む必要が出てきた。2列目を「”」で囲んで出力せよ。

awk -F'\t' '{
    OFS="\t";
    gsub("[#'"'"'()]","_",$2);
    $2="\""$2"\"";
    print $0;
}' take.blastn.txt | more

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /home/webpark1634/www/yosh/lib/plugins/authplain/auth.php on line 441

Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /home/webpark1634/www/yosh/inc/ErrorHandler.php on line 76