Как мне отредактировать строку файла в цикле while, код работает, за исключением того, что находится внутри оператора «if», кто-нибудь делал это раньше? (второй вопрос сегодня, спасибо)
#!/bin/bash
export ELMS_STORAGE="/loc1/f1.csv"
export CUSTOMER_LIST="/loc2/f2.csv"
while read -r ELMS_SIZE ELMS_NAME ELMS_ENV do while IFS=, read -r
CUSTOMER_ENV CUSTOMER_URI CUSTOMER_NAME CUSTOMER_SCHEMA_OWNER
CUSTOMER_DB_INSTANCE OTHER do
if [ "${ELMS_NAME}" = "${CUSTOMER_URI}" ]; then
#### add a new item to the f2.csv
${ELMS_STORAGE}.${ELMS_ENV}="${ELMS_ENV} ${CUSTOMER_URI}" ### doesn't work
fi
done < <(tac $CUSTOMER_LIST) done < <(tac $ELMS_STORAGE)
exit
f2.csv перед редактированием
monkey
dog
tiger
f2.csv после редактирования
monkey brown
bird green
cat yellow
awk
, а не сbash
, поэтому вам не нужно читатьCUSTOMER_LIST
для каждой строки вELMS_STORAGE
. Считайте список клиентов в массив, затем используйте массив при обработке хранилища вязов. - person Barmar   schedule 19.09.2017