前の画面〕 〔クリックポイント〕 〔最新の一覧〕 〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了

1201 re(3):ファイル読み込みについて
2006/1/27(金)08:56 - 竹の - nolm01.iee.niit.ac.jp - 1060 hit(s)

引用する
現在のパスワード


ともちい> OSはfreeBSDで、

一応 FreeBSD と書いて上げてください。

# 私も普段は FreeBSD ユーザ

データがそれほど大きくないなら、awk や perl で全部を 2 次元配列と
して読み込んで、それを転置するように出力すればいいかと思います。
例えば awk なら以下のような awk script を tr.awk とでもして

----- ここから -----
{
    for(j=1;j<=NF;j++) a[NR , j]=$j;
    if(NF>L) L=NF;
}    
END{
    N=NR;
    for(k=1;k<=L;k++){
        printf "%s",a[1 , k];
        for(j=2;j<=N;j++) printf " %s",a[j , k];
        printf "\n";
    }
}
----- ここまで -----

awk -f tr.awk data1 > data2

とすれば data1 を転置した data2 が得られます。

ただ、最初のデータの場合、最初の行だけ field 数が違っていましたので、
それの対処も自動化しようとするとちょっとそれなりのことをする必要があ
ります。簡単なのは、そこにはダミーのデータを入れておいて、field 数を
合わせておいて、それを後で手動で取り除くことでしょうか。


〔ツリー構成〕

【1196】 ファイル読み込みについて 2006/1/26(木)21:07 ともちい (1686)
┣【1198】 re(1):ファイル読み込みについて 2006/1/26(木)21:17 竹の (128)
┣【1199】 re(2):ファイル読み込みについて 2006/1/26(木)21:28 ともちい (220)
┣【1201】 re(3):ファイル読み込みについて 2006/1/27(金)08:56 竹の (883)
┣【1202】 re(4):ファイル読み込みについて 2006/1/27(金)18:42 ともちい (986)
┣【1203】 re(5):ファイル読み込みについて 2006/1/27(金)20:06 竹の (216)
┣【1206】 re(6):ファイル読み込みについて 2006/1/28(土)18:11 ともちい (1454)
┣【1207】 re(7):ファイル読み込みについて 2006/1/28(土)19:15 竹の (954)
┣【1209】 re(8):ファイル読み込みについて 2006/1/28(土)20:05 ともちい (3345)
┣【1210】 re(9):ファイル読み込みについて 2006/1/28(土)20:14 ともちい (1994)
┣【1211】 re(9):ファイル読み込みについて 2006/1/28(土)20:18 竹の (600)

前の画面〕 〔クリックポイント〕 〔最新の一覧〕 〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了

※ 『クリックポイント』とは一覧上から読み始めた地点を指し、ツリー上の記事を巡回しても、その位置に戻ることができます.