Ненужный перевод строки при использовании grep с циклом for - PullRequest
0 голосов
/ 14 июня 2019

У меня настроено так:

    #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: {

Почему я получаю дополнительный символ новой строки в первом примере?

...