Linux 在文件内容shell脚本中搜索单词和日期

Linux 在文件内容shell脚本中搜索单词和日期,linux,bash,shell,Linux,Bash,Shell,我不熟悉shell脚本。让我知道如何为下面的senario编写脚本 名为file1.txt的文件包含一些批处理执行详细信息,最后两行将包含当前日期作业的成功或失败。现在我需要搜索单词success,然后在文件的最后两行中搜索当前日期是否存在。如果当前日期成功,则设置值为1的变量$f1,否则为0。它怎么能做到呢 文件的最后两行示例: Trankey|BVCFG-B|989898|success|12/01/2016|01:34:07|12/01/2016|01:36:08 |file1.txt|c

我不熟悉shell脚本。让我知道如何为下面的senario编写脚本

名为file1.txt的文件包含一些批处理执行详细信息,最后两行将包含当前日期作业的成功或失败。现在我需要搜索单词success,然后在文件的最后两行中搜索当前日期是否存在。如果当前日期成功,则设置值为1的变量$f1,否则为0。它怎么能做到呢

文件的最后两行示例:

Trankey|BVCFG-B|989898|success|12/01/2016|01:34:07|12/01/2016|01:36:08
|file1.txt|ct32000001dev|transform

安静地将当前日期的
file1.txt
的最后两行grep

tail -n 2 file1.txt | grep -q "success|$(date "+%d/%m/%Y")"
根据
grep
是否找到模式(返回
$?
中最后执行的命令的代码),设置
f1

最后一个很奇怪。您可能会以某种方式否定
$?
中的值,但更一般地说,bash中的成功是0,而不是1。(另一种方式是C,C++,java等)< /P> 因此,如果您使用
f1
的语义,事情会变得更简单:

f1=$?
f1=$?