Shell脚本用于提取变量file1并与file2中的变量进行比较并打印差异

时间:2014-04-11 21:19:15

标签: bash shell awk

我似乎无法理解这一点......或者我在分析这个......

目前,我有一个脚本,每15分钟运行一次查询,输出到tmp文件,使用awk格式化输出,然后通过电子邮件发送结果并存储日志文件。

Tmp文件样本数据是......

2014040800054265 D 08-Apr-2014 11:15 08-Apr-2014 00:00 OOS  
2014040800054267 E 08-Apr-2014 11:16 08-Apr-2014 00:00 OOS  
2014040800054279 D 08-Apr-2014 15:01 08-Apr-2014 00:00 OOS  

电子邮件文件样本数据是......

Ticket #: 2014040800054265
Queue : D
Recieved Date : 08-Apr-2014
Recieved Time : 11:15

基本上,我希望脚本只发送新票......

我尝试过与awk比较,但它还没有工作。

有人有什么建议吗?

感谢您的帮助!

P.S抱歉虚假评论......仍然习惯了这个网站:)

1 个答案:

答案 0 :(得分:0)

这样的事可能。

它解析日志文件以仅提取票号。

然后迭代它们并尝试使用grep查找是否已发送。

LOGFILE="file1"
TMPFILE="file2"

for TICKET in $(awk '{print $1}' $LOGFILE); do
   if ! grep -q "Ticket #: ${TICKET} " $TMPFILE; then
      send_email_for_ticket $TICKET
   fi
done