FSLのJHU-labels.xml から、sed を使って領域名だけを抽出する方法

FSLには Johns Hopkins University の白質アトラスがついてきます。
そのアトラスの領域名を抽出したいと思いました。

Short answer

cat JHU-labels.xml |\
sed -e 's@<label.*">@@' \
    -e 's@</label>@@' \
    -e 's@ @_@g' -e 's@__@@' |\
sed -n 17,66p

で、以下のようになります。

Middle_cerebellar_peduncle
Pontine_crossing_tract_(a_part_of_MCP)
Genu_of_corpus_callosum
Body_of_corpus_callosum
Splenium_of_corpus_callosum
...

もし、アトラスの番号を振りたかったら以下のようにします。

cat JHU-labels.xml |\
sed -e 's@<label.*">@@' \
    -e 's@</label>@@' \
    -e 's@ @_@g' \
    -e 's@__@@' |\
sed -n 17,66p |\
nl -n rz |
sed -E 's@0{4}@@'

この結果は以下になります。

01  Middle_cerebellar_peduncle
02  Pontine_crossing_tract_(a_part_of_MCP)
03  Genu_of_corpus_callosum
04  Body_of_corpus_callosum
05  Splenium_of_corpus_callosum
...

続きを読む

Pubmedの結果をviで整形する(不要な改行の削除)

Pubmedはとても便利ですが、いくつか不便なこともあります。
そのうちのひとつに、summary (text) の扱いです。
viを使ってなんとかきれいにできないかと試行錯誤した結果です。

先に結論を示すと、以下でできます。

:%s/\n\([A-Za-z0-9]\)/ \1/

以下がそのプロセスです。

続きを読む

Linuxでfind, sedを使いながら文字列を再利用してファイル名の途中に文字列を挿入する方法

最近、以下のようなことをやる必要がありました。

ファイル名が

201105_ID.jpg
20120608_ID.jpg
20130704_ID.jpg
201409_ID.jpg

となっているファイル(年月が必ずあり、日が時についている)に対して、
年の後にアンダースコアを入れたい、つまり、

2011_05_ID.jpg
2012_0608_ID.jpg
2013_0704_ID.jpg
2014_09_ID.jpg

としたいわけです。

続きを読む