1

次のようなエントリのファイルがあります。

Time; Instance; Database; Status; sheapthres; bp_heap; fcm_heap; other_heap; sessions; sessions_in_exec; locks_held; lock_escal; log_reads; log_writes; deadlocks; l_reads; p_reads; hit_ratio; pct_async_reads; d_writes; a_writes; AvgPoolReadTime; AvgDirReadTime; AvgPoolWriteTime; AvgDirWriteTim

02:07:49; SAN33; SAMPLE; Active; 0; 10688; 832; 72064; 8; 0; 0%; 0; 0; 0; 0; 0; 0; 0%; 0%; 0; 0; 0 ; 0; 0; 0%; 0; 0; 0; 0 02:08:09; SAN33; SAMPLE; Active; 0; 10688; 832; 72064; 8; 0; 0%; 0; 0; 0; 0; 0; 0; 0%; 0%; 0; 0; 0; 0; 0; 0%; 0; 0; 0; 0 02:08:29; SAN33; SAMPLE; Active; 0; 10688; 832; 72064; 8; 0; 0%; 0; 0; 0; 0; 0; 0; 0%; 0%; 0; 0; 0; 0; 0; 0%; 0; 0; 0; 0

これを次のような読み取り可能な形式に変換したい:

Time           Instance        Database
02:07:49        SAN33       SAMPLE
02:08:09        SAN33       SAMPLE
02:08:29        SAN33       SAMPLE 

  and so on..

私は試しtr -s ";" "\t"ましたが、良い結果は得られませんでした。誰かがこれで私を助けることができますか。

4

2 に答える 2

2

column次のように使用することをお勧めします。

column -s\; -t your_file

ここ-s\;で、列の区切り文字はセミコロンです(シェルによる解釈を避けるためにバックスラッシュで保護されています)。コマンドラインCSVビューアも参照してください。。

于 2013-03-21T07:50:24.280 に答える
0

より多くのUNIX対応バリアントはどうですか?

cat <your file> | sed 's/;/\t/g'

SolarisおよびHP-UX\tユーザーは、次の点に注意してください。文字を入力する代わりにCtrl+VTABキーシーケンスを使用してください。

于 2013-06-14T14:32:44.753 に答える