Bash:如果条件检查实际日期是否以字符串形式存在于文件中?

NES*_*NES 1 bash

在一个文件中,我有一个这样的字符串,它是今天的日期

Sa 4. Dez
Run Code Online (Sandbox Code Playgroud)

日期格式是这样的

stringtoday=`date +%Y-%m`
Run Code Online (Sandbox Code Playgroud)

现在我想使用 if 条件来检查今天的日期是否存在于这个文件中,如果是这种情况,我想停止 bash 脚本。如果日期不在此文件中。脚本应该运行。我怎样才能做到这一点?

Iai*_*ane 8

就像是:

#!/bin/sh

DATE=$(date +%Y-%m)

if grep "$DATE" file >/dev/null; then
    echo yes
else
    echo no
fi
Run Code Online (Sandbox Code Playgroud)

file您的文件名应该在哪里工作。它基本上用于grep搜索$DATE文件中的值,并根据是否找到它进行分支(退出代码grep表明这一点,man grep有关更多信息,请参阅“退出状态”)。if grep …; then exit 0; fi如果找到文本以获得您想要的行为,您可以使用退出脚本。

  • `男人grep`。看看 `-q` 做了什么。 (2认同)