当前位置: 首页 > 面试题库 >

如何将列的数据传输到行(使用awk)?

弓宏茂
2023-03-14
问题内容

我有一个像这样的文件:

n A B C D 
1 01 02 01 01
2 02 02 01 01

而且我想按行转移列,因此输出应如下所示:

n 1 2
A 01 02
B 02 02
C 01 01 
D 01 01

我写了这个命令:

awk '{ for (i=1;i<=NF;i++ ) printf $i " " }' file.txt > out-file.txt

问题是此命令将所有内容都放在一行上!所以输出是这样的:

n 1 2 A 01 02 B 02 02 C 01 01 D 01 01

问题答案:

这可能起作用:

awk '{
       for (f = 1; f <= NF; f++) { a[NR, f] = $f } 
     }
     NF > nf { nf = NF }
     END {
       for (f = 1; f <= nf; f++) {
           for (r = 1; r <= NR; r++) {
               printf a[r, f] (r==NR ? RS : FS)
           }
       }
    }' YOURINPUT

在Ideone上观看它。



 类似资料:
  • 我正试图从网站上搜集一些数据,并设法收集重要信息,但当我将其打印到excel文件中时,数据只会流入一列。提供的代码是否有解决方案,或者我是否需要创建多个结果,然后打印出来。 我对网页抓取非常陌生,我尝试过使用<代码>。join,它刚刚将所有数据放在我想要的一行中,但是它将所有数据连接到一列中 当前的输出是这样的,但是它都被困在一列中,我希望它如下所示,很明显,我将在输出代码中有标题

  • 非常感谢之前对我的查询的响应,我有JSONArray在buffer,我说的这些话可能是错的,所以请纠正我。 public void get_data(字符串数据){ 我已经创建了一个dbhlper.java类来处理它,但是我是新手,我缺少了一些东西,而不是将这些数据传送到namearray[i]等等。 公共布尔insertData(String rtrname,String ctgname,Str

  • 问题内容: 我正在尝试使用流使用Hapi将数据发送到浏览器,但无法确定我们的方式。具体来说,我正在使用请求模块。根据文档,该对象接受流,所以我尝试了: 引发错误。在文档中说流对象必须与stream2兼容,所以我尝试了: 现在,这不会引发服务器端错误,但是在浏览器中,请求永远不会加载(使用chrome)。 然后我尝试了这个: 并且在控制台 中 输出了数据,所以我知道流不是问题,而是Hapi。我如何在

  • 问题内容: 我有以下在运行时生成的json数组。因此,名称/数据对的数量不同。 我想将此数据传递给highcharts中的系列。 这就是我目前的做法。 但是,如果更改数组中元素的数量,则此方法将无效。 我该如何解决这个问题?演示代码将帮助我。 问题答案: 我解决了问题 更改了json数组,如下所示: 现在,将其直接传递到highcharts中的系列。 做完!!!!!

  • 我正在尝试使用apache flume将数据加载到hbase中。当我使用flume将数据传输到hadoop时,它工作得很好。但是当我启动flume代理将数据加载到hbase时,我得到了NoClassDefFoundError。 这是我的水槽配置: flume-env.sh 代理4.conf

  • 问题内容: 我想知道是否可以使用Node.js将数据从服务器流式传输到客户端。我想将单个AJAX请求发布到Node.js,然后将连接保持打开状态并将数据连续流式传输到客户端。客户端将收到此流并不断更新页面。 更新: 更新-我无法使其正常工作。在你打电话之前不发送。我建立了一个示例程序来实现此目的: Node.js: HTML: 使用这种方法,我打电话之前什么都没拿回来。这是否可能,或者我应该使用长