gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:59:11 25 4
gpt4 key购买 nike

我是 shell 脚本的新手。让我知道如何为下面的 senario 编写脚本。

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

示例文件的最后 2 行:

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

最佳答案

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

tail -n 2 file1.txt | grep -q "success|$(date "+%d/%m/%Y")"

根据grep是否找到模式设置f1($?中最后执行命令的返回码):

if $?   ## could replace this with the pipe line above
then
f1=1
else
f1=0
fi

最后一个很奇怪。您可能会以某种方式否定 $? 中的值,但更一般地说,bash 中的成功是 0,而不是 1。(与 C、C++、Java 等中的情况相反。 )

因此,如果您使用 f1 的语义,事情会变得更容易:

f1=$?

关于linux - 在文件内容中搜索单词和日期 - shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com