我似乎無法弄清楚如何在如果語句中正確編寫正則表達式。我希望它能打印出所有包含「結束日期」的行。Shell腳本:RegEx in if語句
號碼包含以下內容的文本文件:
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
輸出是:
破碎!
你不需要的東西,正則表達式這個簡單:'[[$線==結束*]' –
請問您的文件實際上包含了'>'字符在每行的開始? –
@glennjackman我正在爲具有日期的正則表達式做正則表達式,但它不起作用,所以我在第一行做了確保沒有錯誤的地方。實際文件不包含「>」。 – dalawh