我有下面的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
答案 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