У меня есть этот скрипт, который будет читаться в файлах csv, которые будут в каталоге. Однако я хочу, чтобы скрипт для проверки весь coulmn файла .csv перед переходом ко второму столбцу т.е.Сценарий оболочки для проверки столбца
Name, City
Joe, Orlando
Sam, Copper Town
Mike, Atlanta
Поэтому он должен проверить coulmn ИМЕНА первым, прежде чем он moveds на проверить город? Как я могу внести изменения в следующий сценарий, чтобы удовлетворить это?
# Read all files. no file have spaces in their names
for file in /source/*.csv ; do
# init two variables before processing a new file
FILESTATUS=GOOD
FIRSTROW=true
# process file 1 line a time, splitting the line by the
# Internal Field Sep ,
cat "${file}" | while IFS=, read field1 field2; do
# Skip first line, the header row
if [ "${FIRSTROW}" = "true" ]; then
FIRSTROW=FALSE
# skip processing of this line, continue with next record
continue;
fi
#different validations
if [[ "${field1}" = somestringprefix* ]]; then
${FILESTATUS}=BAD
# Stop inner loop
break
fi
somecheckonField2
done
if [ ${FILESTATUS} = "GOOD" ] ; then
mv ${file} /source/good
else
mv ${file} /source/bad
fi
done
Спасибо, но выше скрипта, он выполняет итерацию по вертикали, проверяя каждое поле в столбце, а не горизонтальное, что является традиционной оценкой. –
Он проверяет строку за строкой. Но если строка недействительна, она останавливает дальнейшую обработку в этом файле и возвращает '1' – hek2mgl