#csv #unix #ksh #carriage-return
#csv #unix #ksh #возврат каретки
Вопрос:
Я запускаю эти сценарии bash для чтения файла CSV, который содержит почти 10 строк с 05 столбцами:
Variables Global
DATE=$(date) #Set DATE equal to the output of running the shell command date
HOSTNAME=$(hostname) #Set HOSTNAME equal to the output of the hostname command
CSV_FILE='/scrpt/jobs_aix01.csv'
CSV_DELIMITADOR=','
#Variables
contador_sql=0
cadena_sql="error"
## Script
while IFS=, read col_job_name col_os col_server col_user col_script
do
#echo "$col_job_name $col_os $col_server $col_user $col_script"
ls -l $col_script
done < "$CSV_FILE"
Скрипт должен прочитать файл CSV и выполнить команду ls -l, но я получаю «не существует. файл «
Есть идеи?
примечание: файлы существуют.
с уважением
unix jose
Комментарии:
1. Какое точное сообщение об ошибке?
2. Пожалуйста, добавьте shebang, а затем вставьте свой скрипт в shellcheck. net и попытайтесь выполнить рекомендации, сделанные там.
3. Я добавил #!/bin/ksh, но тот же результат
4. попробуйте заключить двойные кавычки
"$col_script"
, и, похожеcol_script
, это последнее поле в вашем csv-файле. Это правильно? Есть ли у вас что-нибудь еще, кроме столбца col_script?5. Готов поспорить на что угодно, что в файле CSV есть разрывы строк CRLF. Используйте
dos2unix jobs_aix01.csv