Board logo

标题: [文本处理] 批处理怎样把两行数据改写成两列排? [打印本页]

作者: shuishen    时间: 2017-12-28 15:15     标题: 批处理怎样把两行数据改写成两列排?

这个命令,输出的是两行数据
现在需要将它改成两列输出
bin\jstat -gc 70092|gawk 'BEGIN{FS=" "}{for(i = 1;i <= NF;i++) {array[i,NR]=$i}} {for(i = 1;i <= NF;i++) {for(j = 1;j <= NR;j++) {printf "%s ",array[i,j]}printf "\n"}‘
结果报错

系统找不到指定的文件。  这是什么情况?

我在linux上是可以用的,在windows该怎么写??
作者: shuishen    时间: 2017-12-28 17:13

发现了一些问题,做了下修改
cmd不认单引号,做了下转义
bin\jstat -gc 70092|gawk "BEGIN{FS="" ""}{for(i = 1;i <= NF;i++) {array[i,NR]=$i}} {for(i = 1;i <= NF;i++) {for(j = 1;j <= NR;j++) {printf ""%s "" ,array[i ,j]}printf ""\n""}}"
但是貌似多输出了一次参数i

这是又是什么情况
作者: zaqmlp    时间: 2017-12-28 18:16

  1. gawk "NR==1{for(i=1;i<=NF;i++){a[i]=$i};next}{for(b in a)print a[b],$b}"
复制代码

作者: shuishen    时间: 2017-12-28 18:39

:handshake非常感谢!!!这么写可以了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2