我循环浏览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>
答案 0 :(得分:0)
您可以使用bash流程替换:
sed -i '/^Site,Single,Single$/ r'<(awk '...') another_file
bash将<()
视为文件名,并且将执行括号内容以生成“文件”的内容。
我将进程替换与前面的单引号字符串连接(中间没有空格),以形成要运行的sed程序。