If / Else In Regular Expression Scripting

时间:2016-10-06 02:24:18

标签: regex shell scripting

我试图编写一些内容来阅读报告的某些部分。我以为我知道如何在其中使用if / else逻辑,但我不断收到错误。

代码:

printf "The report type is: "
egrep -o 'METAR|SPECI' metar1.txt

printf "Station: "
egrep -o 'K[A-Z]{3}' metar1.txt

printf "Day of the month: "
date_time=$(egrep -o '[0-9]{6}Z' metar1.txt)
echo "$date_time"|cut -c1-2
printf "Time of day: "
echo "$date_time"|cut -c3-6

if [[ egrep 'AUTO' metar1.txt ]];
then
    echo "This is a fully automated report."
elif [[ egrep -o 'COR' metar1.txt ]];
then
    echo "This is a corrected observation."
else
    echo "There is neither 'AUTO' or 'COR' in this report."
fi

wind_degree=$(egrep -o '\s[0-9]{5}G?[0-9]?[0-9]?KT\s' metar1.txt|cut -c2-4)
wind_speed=$(egrep -o '\s[0-9]{5}G?[0-9]?[0-9]?KT\s' metar1.txt|cut -c5-6)
printf "Winds are from $wind_degree degree at $wind_speed knots\n"

我在第13行遇到错误:

line 13: conditional binary operator expected, 
line 13: syntax error near `'AUTO'', 
line 13: `if [[ egrep 'AUTO' metar1.txt ]];'

1 个答案:

答案 0 :(得分:0)

if ... fi块替换为:

if    egrep 'AUTO'   metar1.txt ;  then
    echo "This is a fully automated report."
elif  egrep -o 'COR' metar1.txt ; then
    echo "This is a corrected observation."
else
    echo "There is neither 'AUTO' or 'COR' in this report."
fi