我有一个文件,其条目如下:
时间;实例;数据库;状态; SHEAPTHRES; bp_heap; fcm_heap; other_heap;会议; sessions_in_exec; locks_held; lock_escal; log_reads; log_writes;死锁; l_reads; p_reads; hit_ratio; pct_async_reads; d_writes; a_writes; lock_waiting;排序堆; sort_overflows ; pct_sort_overflows; AvgPoolReadTime; AvgDirReadTime; AvgPoolWriteTime; AvgDirWriteTim
02:07:49; SAN33;样品;活动; 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;样品;活动; 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;样品;活动; 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"
但没有得到任何好结果。任何人都可以帮助我。
答案 0 :(得分:2)
您可能希望使用column
,如下所示:
column -s\; -t your_file
其中-s\;
表示您的列分隔符是分号(使用反斜杠保护以避免shell解释)。另请参阅Command line CSV viewer?。
答案 1 :(得分:0)
如何更多unix感知变体:
cat <your file> | sed 's/;/\t/g'
Solaris 和 HP-UX 用户注意:而不是\t
字符输入,请使用Ctrl+V
然后TAB
键序列。