授業/H25/系統解析論

memo

Problem in Mac OSX sed:

$ curl -O http://ftp.jaist.ac.jp/pub/GNU/sed/sed-4.2.tar.gz
$ tar xzf sed-4.2.tar.gz
$ cd sed-4.2
$ ./configure --with-libiconv-prefix=/usr --with-libintl-prefix=/usr
$ make
$ sudo make install

sed script to convert TinyXML format to flat tab-delimited format

#tinyxml.sed
#最初の3行と空白行、削除
/<?/d
/<\!DOC/d
/ <TSeqSet>/d
/^$/d
#ループ指定
:loop1
#1データの最初の2行は削除
  /<TSeq>/d
  /<TSeq_seqtype/d
#最初のフィールド読み混み空白から始まる開始タグを削除
   s/ \+<[^>]\+>//
#2行目を読み混み
   N
 #終止タグと改行と空白に続く次の行の開始タグを削除
   s/<\/[^/]\+>\n \+<[^>]\+>/\t/
 #1データの最後のタグを削除したら、パターンを吐き出し最初へ。置換がおきなければloop1へ戻る
   s/<\/TSeq_sequence>\n<\/TSeq>//
t loop1
/<\/TSeqSet>/d
P
D

fields delimited by tab

gi	accver	taxid	orgname	defline	length	sequence