, если у меня есть следующий синтаксис строкиКак проверить правильность синтаксиса линии?
FirstName, FamilyName, Address, PhoneNo
и я читаю файл данных, которые содержат информацию, как я могу проверить, что я читаю строку с правильным синтаксисом ??
UPDATE ::
я имею в виду функцию я послать к нему каждая строка (из цикла в то время), и ее возвращение 0, если строка является правильным и 1, если строка не является?
UPDATE2 ::
правильная форма
first name(string), last name(string), address(string), phone no.(string)
так, если линия отсутствует один или, если есть более чем 4 ,, она должна возвращать 1 ,,
Использование Bash,
Good Input является ::
Rami, Jarrar, Jenin - Wadi berqen, 111 111
# Некоторые случаи бороться с
, Jarrar, Jenin - Wadi berqen, 111 111
- Extra Spaces::
Rami, Jarrar, Jenin - Wadi berqen, 111 111
Rami, Jarrar, Jenin - Wadi berqen, 111 111, 213 3123
ТАКЖЕ ДРУГОЙ UPDATE :)
check(){
x=$(echo "[email protected]" | grep -q '^[^,]\+,[^,]\+,[^,]\+,[^,]\+$')
return $x
}
len=#number of lines in the file
i=1
while [ $i -le $len ]; do
line=$(cat $file)
#------this is where i call the func-----
check $line
if [ $? -eq 1 ];then
echo "ERROR"
else
echo "Good Line"
fi
BASH 2.3.39 * GREP 2.5.3 *
UPDATE теперь, если я сделать правильный формат, как это ::
string, value, value, value
значение: положительное целое число
, что эта линия должна быть заменена ::
x=$(echo "[email protected]" | grep -q '^[^,]\+,[^,]\+,[^,]\+,[^,]\+$')
??
Если вы не определяете, что такое «правильная» строка, вопрос невозможно ответить. Что-нибудь с 3 запятыми верно? вы подтверждаете цифру/длину для телефонов? – tokland 2010-12-01 15:30:54
см. Мой UPDATE2 :) – 2010-12-01 15:43:07