将输出重定向到bash中的新列

时间:2013-08-04 11:59:54

标签: bash shell

我有这段代码

#!/bin/bash
for i in {1..10}
do
    wget www.abc.com?id=$i >> sample.txt
    job_id_var=$(grep -E "jobId" sample.txt) # return 5 in first iteration, 10 in second
    run_id=$(grep -E "runid" sample.txt) # return 1001 in first iteration, 1002 in second
done

我想用以下格式创建一个文件
输出:

job_id run_id
5 1001  
10 1002

1 个答案:

答案 0 :(得分:1)

这应该对你有帮助 -

 #!/bin/bash
    echo job_id run_id
    for i in {1..10}
    do
        wget www.abc.com?id=$i > sample.txt
        job_id_var=$(grep -E "jobId" sample.txt) # return 5 in first iteration, 10 in second
        run_id=$(grep -E "runid" sample.txt) # return 1001 in first iteration, 1002 in second
        echo "$job_id_var"  "$run_id" >> outputfile 
    done

<强>说明: 使用echo $YOUR_VAR >> filename,您可以根据需要将变量附加到文件中。我还没有很好地形成这一点,也许你可以做到这一点。

我还看到您使用>>附加了sample.txt - 我建议您使用>进行覆盖,如果它可以解决您的问题。