solaris的每小时增量10

时间:2013-12-05 14:47:24

标签: shell solaris

我有下面的solaris脚本,它工作正常,但我需要将每小时增量分组到一行。请看下面的示例。

#!/bin/ksh
cd /apps/ins/hourly_stat
d1=`TZ=GMT+24 date +%y%m%d`
sed -n '20,23p' SMSC_Report.$d1'00'.rep 
sed -n '20,23p' SMSC_Report.$d1'01'.rep 
sed -n '20,23p' SMSC_Report.$d1'02'.rep 
sed -n '20,23p' SMSC_Report.$d1'03'.rep 
sed -n '20,23p' SMSC_Report.$d1'04'.rep 
sed -n '20,23p' SMSC_Report.$d1'05'.rep 
sed -n '20,23p' SMSC_Report.$d1'06'.rep 
sed -n '20,23p' SMSC_Report.$d1'07'.rep 
sed -n '20,23p' SMSC_Report.$d1'08'.rep 
sed -n '20,23p' SMSC_Report.$d1'09'.rep 
sed -n '20,23p' SMSC_Report.$d1'10'.rep 
sed -n '20,23p' SMSC_Report.$d1'11'.rep 
sed -n '20,23p' SMSC_Report.$d1'12'.rep 
sed -n '20,23p' SMSC_Report.$d1'13'.rep 
sed -n '20,23p' SMSC_Report.$d1'14'.rep 
sed -n '20,23p' SMSC_Report.$d1'15'.rep 
sed -n '20,23p' SMSC_Report.$d1'16'.rep 
sed -n '20,23p' SMSC_Report.$d1'17'.rep 
sed -n '20,23p' SMSC_Report.$d1'18'.rep 
sed -n '20,23p' SMSC_Report.$d1'19'.rep 
sed -n '20,23p' SMSC_Report.$d1'20'.rep 
sed -n '20,23p' SMSC_Report.$d1'21'.rep 
sed -n '20,23p' SMSC_Report.$d1'22'.rep 
sed -n '20,23p' SMSC_Report.$d1'23'.rep

2 个答案:

答案 0 :(得分:1)

目前还不清楚“将每小时增量分组到一行”是什么意思。

也许这符合需要:

#!/bin/ksh
cd /apps/ins/hourly_stat
d1=$(TZ=GMT+24 date +%y%m%d)
sed -n '20,23p' SMSC_Report.${d1}??.rep

答案 1 :(得分:0)

for循环,遍历每个可能的小时,将按照您的要求进行。

#!/bin/ksh
cd /apps/ins/hourly_stat
d1=`TZ=GMT+24 date +%y%m%d`
for hr in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
do
    sed -n '20,23p' SMSC_Report.${d1}${hr}.rep
done

更紧凑的替代方案 - 如果你的ksh支持括号符号 - 是这样的:

#!/bin/ksh
cd /apps/ins/hourly_stat
d1=`TZ=GMT+24 date +%y%m%d`
for hr in {00..23}
do
    sed -n '20,23p' SMSC_Report.${d1}${hr}.rep
done