если у меня следующий синтаксис строки
FirstName, FamilyName, Address, PhoneNo
и я читаю файл данных, содержащий информацию, как я могу проверить, что я читаю строку с правильным синтаксисом ??
ОБНОВЛЕНИЕ ::
Я имею в виду функцию, которую я посылаю ей каждую строку (из цикла while), и возвращает 0, если строка верна, и 1, если строка нет?
ОБНОВЛЕНИЕ2 ::
правильная форма:
first name(string), last name(string), address(string), phone no.(string)
, поэтому, если в строке отсутствует один или более 4,, он должен вернуть 1 ,,
Используя Bash,
Хороший ввод: *
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
ТАКЖЕ ДРУГОЕ ОБНОВЛЕНИЕ:)
check(){
x=$(echo "$@" | 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 *
ОБНОВЛЕНИЕ теперь, если я сделаю правильный формат, подобный этому: *
string, value, value, value
значение: является положительным целым числом
чем эту строку следует заменить ::
x=$(echo "$@" | grep -q '^[^,]\+,[^,]\+,[^,]\+,[^,]\+$')
??