首页 > 解决方案 > 输出到文件时shell换行的问题

问题描述

当我想将几个变量输出到 shell 中的 txt 文件时,我遇到了问题。我希望它们在一行中,但在第一个和第三个变量之后出现换行符。我有例如这个

for s in `ls $TESTDIR/results_orig.txt`
    do 
        t_a=(`grep "    a" $s`);
        t_b=(`grep "Bytes written to file: " $s`);
        t_c=(`grep " Total Time:" $s`);
        t_d=(`grep "QP                           " $s`);

        a=${t_a[2]};
        b=${t_b[4]};
        c=${t_c[3]};    
        d=${t_d[2]};

        echo "$a $b $c $d" >> $TESTDIR/results.txt;
    done

在我解析原始 txt 文件以在其中找到一些值之后,我得到了变量 t_a 到 t_d。比我想找到一些数字蚂蚁将它们写在文件中,而没有原始文件中的其他文本。我希望它在新文件的一行中写入这些解析的数字,比如

13.2 1678 3231.5 2422.1

我得到

13.2 1678 3231.5 2422.1

当我将任何变量分别回显到控制台时,我得到了正确的值。所以变量被解析得很好。有什么问题?

谢谢你。

标签: shell

解决方案


推荐阅读