#!/bin/ksh
for i in 1 2 3
do
echo "Current file is R_S.list${i}"
#筛选MQ发送通道S.list,排序去重
#筛选mq接收通道R.list,排序去重,这里awk过滤的是第一个括号中的内容
cat lizi.list|grep "CHLTYPE(RCVR)"|awk -F"[()]" '{print $2}'|cut -d "." -f1|sort -u >R.list
cat lizi.list|grep "CHLTYPE(SDR)"|awk -F"[()]" '{print $2}'|cut -d "." -f2|sort -u >S.list
##筛选MQ发送和接受通道都running的机构号 comm对比是基于排序去重的
comm -12 R.list S.list>R_S.list${i}
done
###之后每次执行产生的RSxxxxxx.list都要和前一次的对比下,RS2.list有的,RS1.list没有的
#sleep 10 ##10min循环执行一次捕获新的双向running通道
#
#
###打印出第二次执行中,较第一次新增的双向通道都是running的机构
#comm -13 R_S.list1 R_S.list2 > 2-1.list
###-1不打印包含在第一个文件中特有的行,-3表示不打印两个文件共有的行
#
###打印第三次对比第二次又新增的机构
#comm -13 R_S.list2 R_S.list3 > 3-2.list
#cat S.list|while read line
#do
#R_ID=`echo $line|sed 's/\s\+//g' ` ##其中\s代表空格,+代表出现一次或多次。把所有空白格替换成空
#echo "${R_ID}"
# cat R.list|while read line
# do
# S_ID=`echo $line|sed 's/\s\+//g' ` ##循环比对发送和接受的机构
# if [ ${S_ID} -eq ${R_ID} ]; then
# echo "SID is ${S_ID}"
# echo "rid is ${R_ID} "
# else
# echo "no sid:${S_ID} "
# fi
# done
#done
##lizi.list内容
## CHANNEL(5840.9968) CHLTYPE(SDR)
## CHANNEL(7855840001.GW5840) CHLTYPE(RCVR)
## CHANNEL(9073010002.GW3010) CHLTYPE(RCVR)
## CHANNEL(9073010006.GW3010) CHLTYPE(RCVR)
## CHANNEL(9075840001.GW5840) CHLTYPE(RCVR)
## CHANNEL(9076510001.GW6510) CHLTYPE(RCVR)
## CHANNEL(9076510003.GW6510) CHLTYPE(RCVR)
## CHANNEL(9076510006.GW6510) CHLTYPE(RCVR)
## CHANNEL(9077910003.GW7910) CHLTYPE(RCVR)
## CHANNEL(9968.5840) CHLTYPE(RCVR)
## CHANNEL(9968.5840F) CHLTYPE(RCVR)
## CHANNEL(GW3010.3133010001) CHLTYPE(SDR)
## CHANNEL(GW3010.3133010002) CHLTYPE(SDR)
## CHANNEL(GW3010.3143010001) CHLTYPE(SDR)
## CHANNEL(GW3010.3143010002) CHLTYPE(SDR)
comm
最新推荐文章于 2025-01-20 08:11:31 发布