在带有for循环的grep中使用不必要的换行符

时间:2019-06-14 01:46:18

标签: bash for-loop grep echo

我有这样的设置:

    #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

问题是这个。这是行不通的,因为$(grep'。*:{$'$ NAME)中的for VAR为其结果添加了不必要的空格和换行符。

如果我回显$ 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: {

为什么在第一个示例中我得到多余的换行符?

0 个答案:

没有答案