AWK数组,重定向输出

时间:2017-07-12 16:00:02

标签: awk

我循环浏览awk数组以打印输出,然后想要将此输出插入到特定正则表达式之后的另一个文件中。有什么想法吗?

for(i=1; i<=n; i++){                    
        printf("TILE%d_STRIP%d_TRANSLATE0,%.1f,%.1f\n",tile_num,i,x_array[i],y_array[i]);
    }

产生:

TILE1_STRIP1_TRANSLATE0,4122.9,5400.0
TILE1_STRIP2_TRANSLATE0,4122.9,5535.0
TILE1_STRIP3_TRANSLATE0,4122.9,5670.0
TILE1_STRIP4_TRANSLATE0,4122.9,5805.0
TILE1_STRIP5_TRANSLATE0,4122.9,5940.0

然后我希望这些行插入这两行之间的另一个文件

Site,Single,Single
<EOSUBSITES>

1 个答案:

答案 0 :(得分:0)

您可以使用bash流程替换:

sed -i '/^Site,Single,Single$/ r'<(awk '...') another_file

bash将<()视为文件名,并且将执行括号内容以生成“文件”的内容。

我将进程替换与前面的单引号字符串连接(中间没有空格),以形成要运行的sed程序。