У меня настроено так:
#read a list of files
tr -d \\015 < sample.txt | while IFS=, read -r NAME
do
#grep for lines and do stuff
for VAR in $(grep '.*: {$' $NAME)
do
do some stuff
done
done
Проблема в этом. Это не работает, потому что for VAR в $ (grep '. *: {$' $ NAME) добавляет ненужные пробелы и символы новой строки в свои результаты.
Если я повторяю $ VAR, я получаю следующее:
blahblahblah:
{
Теперь рассмотрим этот код:
#read a list of files
tr -d \\015 < sample.txt | while IFS=, read -r NAME
do
VAR=$(grep '.*: {$' $NAME)
echo $VAR
done
Если я повторю здесь $ VAR, я получу:
blahblahblah: {
Почему я получаю дополнительный символ новой строки в первом примере?