Я пытаюсь проанализировать CSV-файл и получить определенные значения из полей, который работает:
$ for line in $(cat test.csv); do regiovalue="$(echo $line | awk -F';' '{print $4}')"; echo "regio: ${regiovalue}"; done
regio: TOG
regio: APP
regio: APP
regio: APP
Но мне нужно добавить еще один символ в конце вывода эха:
$ for line in $(cat test.csv); do regiovalue="$(echo $line | awk -F';' '{print $4}')"; echo "regio: ${regiovalue};"; done
;egio: TOG
;egio: APP
;egio: APP
;egio: APP
Как видите, добавленная точка с запятой была добавлена в начале строки и заменена первым символом (r) строки. Кстати, не имеет значения, точка с запятой или какой-либо другой символ.
Это происходит только в цикле (как для, так и во время проверки на чтение), прямое эхо работает без проблем:
$ regiovalue=TOG; echo "regio: ${regiovalue};"
regio: TOG;
Bash версия:
$ bash --version | grep bash
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
- Почему это происходит? Я проверил документацию, но не смог найти ничего конкретного о замене символов в цикле.
- Как получить вывод (значение переменной и дополнительные символы) в одном эхо?