Ò»¶Î²»¹æÔòÎı¾µÄ½ØÈ¡
ÎÒÓÐÒ»¸öÈÕÖ¾Îļþ,ÈçÏÂ:[code] 10/11/2007 09:22:03 FX_FILESENT 2 file(s) sent to Destination
dm_reportD (Session ID = 1)
10/11/2007 09:22:19 FX_FILESENT 2 file(s) sent to Destination
dm_reportD (Session ID = 1)
10/11/2007 09:22:34 FX_FILESENT 2 file(s) sent to Destination
dm_reportD (Session ID = 1)
** 10/11/2007 09:22:46 FM_STAGFILE Found 1 stagnant primary billing
file(s): Destination 'SXC2BP', oldest stagnant
file polled at 'Mon Oct 01 14:53:36 2007'.
** 10/11/2007 09:22:47 FM_STAGFILE Found 22505 stagnant primary billing
file(s): Destination 'dm_reportD', oldest
stagnant file polled at 'Mon Oct 08 08:19:09
2007'.
10/11/2007 09:22:50 FX_FILESENT 2 file(s) sent to Destination
dm_reportD (Session ID = 1)[/code]
ÎÒÐèÒª½«ÒÔ**¿ªÊ¼µÄÄDz¿·ÖÄÚÈÝÈ¡³öÀ´,×÷ÏÂÒ»²½µÄ´¦Àí,´ó¼ÒÓÐʲôºÃµÄ°ì·¨Ã´? ÆäʵÎÒÏÖÔÚÓÐʵÏÖ,Ö»ÊǾõµÃЧÂʲ»¸ß,˼·ÈçÏÂ:
ÏÈÕÒ³ö**¿ªÊ¼µÄÄDz¿·ÖÐкÅ,È»ºóÓÃawkÒ»´ÎÍùÏÂȡһÐÐ,È¡µ½Îª¿ÕÐеÄʱºò,¾Í½áÊøÕâÒ»²¿·ÖµÄ¶ÁÈ¡.
[code]grep -n "^\*\\*" ${tmpLog} |awk -F\: '{print $1 }' >${tmpNum}
cat ${tmpNum} |while read num
do
i=${num}
Line=Null
while [ "${Line}" != "" ]
do
Line=`awk 'NR=="'$i'"' ${tmpLog} `
#Debug
#echo "Line=[$Line] and i = [$i]"
echo "${Line}" >> ${sendFile}
i=`expr $i + 1 `
if [ $? -ne 0 ];then
echo "ÐòºÅ¼ÆÊýÆ÷ʧ°Ü,Çë¼ì²é!!" >>${sendFile}
fi
done
done[/code]
´ó¼Ò°ïæÏëÏëÓÐûÓиüºÃµÄ°ì·¨,×îºÃÄÜÓÃawk ,»òsedÒ»ÐÐÃüÁîÆ¥Åä³öÀ´.
[[i] ±¾Ìû×îºóÓÉ linux120 ÓÚ 2007-10-11 11:51 ±à¼ [/i]] Ö»Óà awk ¾Í¹»ÁË:
[quote][font=Courier][color=black][/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1282 $?=0][/color] [color=red]; cat file
[/color][color=black] 1
** 2
** 3
4
[/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1282 $?=0][/color] [color=red]; awk '/^\*\*/' file | while read line; do echo "$line"; done
[/color][color=black]** 2
** 3
[/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1282 $?=0][/color] [color=red]; bye
[/color][color=black][/color][/font][/quote] ºÇºÇ,µ«ÊÇ**ÏÂÃæ»¹ÓÐÒ»²¿·ÖµÄ,Ëü²»ÊÇÒ»ÐÐ,ÊDz»È·¶¨µÄ¼¸ÐÐ×é³ÉµÄ,ÒÔ¿ÕÐÐ×÷½áÊø·û,ÎÒÒª»ñÈ¡Õû¶Î ÓÃawk±àдµÄ£º
/[0-9][0-9]\/[0-9][0-9]\/200[0-9]/{if(/^\*/)
{PD=1
print$0;}
else
PD=0
}
!/[0-9][0-9]\/[0-9][0-9]\/200[0-9]/{if(PD==1) print $0} [root@localhost shell]# sed -n "/^\*\*/,/^$/p" ./diay
** 10/11/2007 09:22:46 FM_STAGFILE Found 1 stagnant primary billing
file(s): Destination 'SXC2BP', oldest stagnant
file polled at 'Mon Oct 01 14:53:36 2007'.
** 10/11/2007 09:22:47 FM_STAGFILE Found 22505 stagnant primary billing
file(s): Destination 'dm_reportD', oldest
stagnant file polled at 'Mon Oct 08 08:19:09
2007'.
Ò»Ìõsed¾Í¿ÉÒÔ½â¾öÁ˰¡ :victory:
ºÃ,²»´í,Õâ¾ÍÊÇÎÒÏëÒªµÄ½á¹û,¹þ¹þ sedºÍawk̫ǿ´óÁË,²»¹ýÓÐʱºòÓõIJ»ÊìÁ·,¿ÉÒÔͨ¹ýÆäËüµÄ·½Ê½À´µ÷ÕûÒ»ÏÂ,ÌõÌõ´ó·ͨÂÞÂíÀ²....:lol ºÃ´ÏÃ÷µÄ·½·¨£¡ok! ÆäʵoracleµÄÈÕÖ¾Àï,ÓкܶàÕâÖÖ²»¹æÔòµÄÐÅÏ¢,ÓÃsed´¦ÀíÒ»ÏÂ,¸æ¾¯¾ÍºÜ·½±ãÁË [code]
perl -00 -ne ' print if /^\Q**/ ' your_file
[/code]
µÈdearvoid³öawk°æ:lol [quote]ÔÌûÓÉ [i]040410615[/i] ÓÚ 2007-10-11 15:31 ·¢±í [url=http://linuxeden.com/forum/redirect.php?goto=findpost&pid=588998&ptid=159625][img]http://linuxeden.com/forum/images/common/back.gif[/img][/url]
[root@localhost shell]# sed -n "/^\*\*/,/^$/p" ./diay
** 10/11/2007 09:22:46 FM_STAGFILE Found 1 stagnant primary billing
file(s): Destination 'SXC2BP', o ... [/quote]
sed µÄ̰À·Æ¥Åä
ÈÃÕâÌõ¼Ç¼ÕýºÃ¿ÉÒÔ¡®ÕýÈ·¡¯ÏÔʾ¡£¡£¡£
Èç¹ûÄÇÁ½¶Î´øÐǵļǼ²»ÊÇÕýºÃ°¤ÔÚÒ»Æð
¹À¼Æ»áÓÐÎÊÌ⣺£© awk '/\*\*/,/^$/ {print}' ./file
ÕâÑùÒ²¿ÉÒÔ°É ÎÒÒ²À´Ò»¸ö,¸Õѧawk,»¶ÓÅÄש:loveliness:
awk '{RS="\n\n"}/^\*\*/{print}' logfile #˼·:ÒÔÁ½¸öÁ¬ÐøµÄ»»Ðзû×÷ΪawkµÄRS (¼Ç¼·Ö¸ô·û)
Ò³:
[1]