我是shell脚本的新手,我正在尝试用if语句编写正则表达式。我在mac osx 10.6.8上使用bash shell。这是我试图运行的代码
#!/bin/bash
line="A903 ATGCGTCGTC"
if [[ $line =~ ^\w+\t[GATCN]+ ]]; then
echo "Exiting ... Check File"
exit 0
else
echo "File ... OK"
fi
我应该将“退出...检查文件”作为输出,而不是“文件......确定”。我究竟做错了什么?谢谢你的帮助。
答案 0 :(得分:2)
这个适用于我
#!/bin/bash
line="A903 ATGCGTCGTC"
if [[ $line =~ ^[[:alnum:]]+[[:space:]]+[GATCN]+ ]]; then
echo "Exiting ... Check File"
exit 0
else
echo "File ... OK"
fi
找到有关POSIX正则表达式here
的信息