awk for调用system的换行处理
之前相关的已解决问题:http://bbs.csdn.net/topics/390737020
我的程序片段流程如下:
result=`awk for (i=1; i<=NF; i++) {
system("system call" | grep ... | sed ...| awk ...) //输出字符串Ai,返回值0
system("system call" | grep ... | sed ...| awk ...) //输出字符串Bi,返回值0
printf ("\n")
}`
echo $result
黑体字printf的意思是我想在这里有一个换行,因为上面的程序片段输出是(假设循环三次):
A1 B1 A2 B2 A3 B3
如果我把echo的语句改成
echo "${result} ", 那么输出就成了
A1
B1
A2
B2
A3
B3
现在我想输出格式变为(每个for循环的输出严格地在一行中):
A1 B1
A2 B2
A3 B3
由于程序还有其他的格式处理和错误处理,无法先单行输出然后再合并,请问该如何做能实现上面的输出?
多谢!
------解决方案--------------------echo A B C
------解决方案--------------------
awk '{
for(i=1;i<=3;i++){
system("echo 1 2 3
------解决方案--------------------
grep 3
------解决方案--------------------
sed 's/1/hello/'
------解决方案--------------------
awk \x27{printf \"%s \",$1}\x27")
system("echo 4 5 6
------解决方案--------------------
grep 4
------解决方案--------------------
sed 's/4/world/'
------解决方案--------------------
awk \x27{printf \"%s \",$1}\x27")
print ""
}
}'
需要在内层awk里面使用printf控制输出格式