我需要在每個具有值的vmstat行中插入datetime。需要在每行vmstat輸出中插入datetime
我可以創建這樣一個功能:
function insert_datetime {
while read line
do
printf "$line"
date '+ %m-%d-%Y %H:%M:%S'
done
}
然後調用的vmstat如下:
'vmstat 3 5 | insert_datetime'
,但此行把日期時間的每一行,包括破折號( - )和任何有文字的行。我如何排除具有文字和文字的行?
kthr memory page faults cpu 04-23-2013 10:19:49
----- ----------- ------------------------ ------------ ----------------------- 04-23-2013 10:19:49
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 04-23-2013 10:19:49
0 0 45688088 4094129 0 0 0 0 0 0 45 12172 2840 1 1 99 0 0.35 2.2 04-23-2013 10:19:49
2 0 45694135 4088082 0 0 0 0 0 0 451 56350 21818 3 1 97 0 0.73 4.5 04-23-2013 10:19:52
1 0 45694137 4088061 0 0 0 0 0 0 303 24568 951 3 1 96 0 0.82 5.1 04-23-2013 10:19:55
1 0 45694138 4087739 0 0 0 0 0 0 445 9170 1504 2 0 98 0 0.64 4.0 04-23-2013 10:19:58
4 0 45703145 4078732 0 0 0 0 0 0 335 47175 1306 4 1 95 0 1.01 6.3 04-23-2013 10:20:01
我需要這個樣子:
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------------------
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec
0 0 45688088 4094129 0 0 0 0 0 0 45 12172 2840 1 1 99 0 0.35 2.2 04-23-2013 10:19:49
2 0 45694135 4088082 0 0 0 0 0 0 451 56350 21818 3 1 97 0 0.73 4.5 04-23-2013 10:19:52
1 0 45694137 4088061 0 0 0 0 0 0 303 24568 951 3 1 96 0 0.82 5.1 04-23-2013 10:19:55
1 0 45694138 4087739 0 0 0 0 0 0 445 9170 1504 2 0 98 0 0.64 4.0 04-23-2013 10:19:58
4 0 45703145 4078732 0 0 0 0 0 0 335 47175 1306 4 1 95 0 1.01 6.3 04-23-2013 10:20:01
BTW執行,如果有的話,我建議你在管道的末端,如果你使用'column'命令想要更多的人可讀格式。它會給出更好的列表。 – anishsane 2013-04-23 14:30:21
其實沒有。那些headears可以顯示在文件中間。我不能排除前3行。我需要能夠使用某種正則表達式來搜索 - 或[aA-zZ]爲每行排除它們。不需要爲這些行添加時間戳。 – user1471980 2013-04-23 14:36:31
好的...我想看到一些解決方案...我不是很習慣ksh :( – anishsane 2013-04-23 14:42:56