dal*_*awh 4 regex shell if-statement
我似乎无法弄清楚如何在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
Run Code Online (Sandbox Code Playgroud)
以下是我的代码片段,我遇到了以下问题:
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
Run Code Online (Sandbox Code Playgroud)
输出是:
破碎!
如果你正在使用bash,请尝试=~
:
...
if [[ $line =~ ^End ]]
Run Code Online (Sandbox Code Playgroud)
请注意,以下内容不起作用:1
if [[ "$line" =~ "^End" ]]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29825 次 |
最近记录: |