bash - bash 可以 grep "*"而不是 "\*"吗?

标签 bash

如何在文本文件中使用 grep asterisk *? 这是我的代码:

if grep -F "\#$minute $hour $date $month $day $cr_user $comm" filecron; then
        echo "$minute $hour $date $month $day $cr_user $comm" > /dev/null 2>&1
        echo "data exist"

elif [[ -z $minute || -z $hour ]]; then
        echo "#$minute $hour $date $month $day $cr_user $comm" > /dev/null 2>&1
        echo "nothing to input"
        echo "" >> filecron

elif [[ $stat == "inactive" ]]; then
        echo "\#$minute $hour $date $month $day $cr_user $comm" >> filecron
        echo "input data inactive to filecron"

else
        echo "$minute $hour $date $month $day $cron_user $comm" >> filecron
        echo "input data active to filecron"

fi

这里是filecron包含

#30 07 03 09 RAB root bash /media/data/once.sh > /dev/null 2>&1
#* * * * * root bash /media/data/looping.sh > /dev/null 2>&1
#56 * * * * root bash /media/data/minutely.sh /dev/null 2>&1
#43 * * * * root bash /media/data/hourly.sh > /dev/null 2>&1
#54 11 * * * root bash /media/data/daily.sh /dev/null 2>&1
#00 12 * * RAB root bash /media/data/weekly.sh > /dev/null 2>&1
#30 20 15 * * root bash /media/data/monthly.sh > /dev/null 2>&1
#45 21 01 09 * root bash /media/data/yearly > /dev/null 2>&1
#15 16 31 08 MIN root bash /media/data/other.sh > /dev/null 2>&1
#30 07 * * * root bash /media/data/daily2.sh > /dev/null 2>&1
#30 10 * * * root bash /media/data/daily3.sh > /dev/null 2>&1
#45 17 17 * * root bash /media/data/monthly2.sh > /dev/null 2>&1
#00 18 * * SAB root bash /media/data/weekly2.sh > /dev/null 2>&1

#30 07 03 09 RAB root bash /media/data/once.sh > /dev/null 2>&1
#* * * * * root bash /media/data/looping.sh > /dev/null 2>&1
#56 * * * * root bash /media/data/minutely.sh /dev/null 2>&1
#43 * * * * root bash /media/data/hourly.sh > /dev/null 2>&1

但是 grep$minute$hour$month 时不起作用$day$date* 那么,我该怎么做呢?

最佳答案

如果您没有任何正则表达式模式,并且只想精确匹配字符串,请使用 -F 选项到 grep(或旧的 fgrep 命令):

if grep -F "#$minute $hour $date $month $day $cr_user $comm" filecron; then

关于bash - bash 可以 grep "*"而不是 "\*"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25717644/

相关文章:

具有自定义输出的 man 的 bash 脚本

linux - 删除 bash 中最后一个点的所有文本

Python - 将 Fabric 与 Sudo 结合使用

linux - 如何将行号变量传递给 sed,以删除该行之后的所有行

linux - 在 linux 中过滤文本输出

linux - shell重定向位置之间的区别

linux - Azure PowerShell : Is it possible to call bash commands from script written in ps1?

bash - 如何在 bash shell 中设置光标颜色

bash - unix 字符串解析和日期格式化

node.js - 如何让包管理器 npm 在 Mac OS X 上使用 bash 4?