Shell脚本:if语句中的RegEx
发布时间:2020-12-16 01:51:48 所属栏目:安全 来源:网络整理
导读:我似乎无法弄清楚如何在if语句中正确编写正则表达式.我希望它打印出所有带有“结束日期”的行. NUMBERS包含一个包含以下内容的文本文件: End Date ABC ABC ABC ABC ABC ABC05/15/13 2 7 1 1 4 5 04/16/13 4 3 0 1 3 6 03/17/13 6 9 3 8 5 9 02/18/13 8 2 7
我似乎无法弄清楚如何在if语句中正确编写正则表达式.我希望它打印出所有带有“结束日期”的行.
NUMBERS包含一个包含以下内容的文本文件: End Date ABC ABC ABC ABC ABC ABC 05/15/13 2 7 1 1 4 5 04/16/13 4 3 0 1 3 6 03/17/13 6 9 3 8 5 9 02/18/13 8 2 7 1 0 1 01/19/13 1 9 2 2 5 2 12/20/12 7 2 7 1 0 1 以下是我的代码片段,我遇到了以下问题: if [ -f $NUMBERS ] then while read line do if [ $line = ^End ] then echo "$line" else echo "BROKEN!" break fi done < $NUMBERS else echo "===== $NUMBERS failed to read =====" fi 输出是:
解决方法
如果你正在使用bash,请尝试=?:
... if [[ $line =~ ^End ]] 请注意,以下内容不起作用:1 if [[ "$line" =~ "^End" ]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |