【问题标题】:Organize input data as a 3D configuration将输入数据组织为 3D 配置
【发布时间】:2012-05-22 11:21:27
【问题描述】:

我从“file.txt”中输入的数据如下(提取样本):

245.214
188.936
195.758
194.939
194.242
188.936
  ...

但是,我使用的软件需要将数据组织为 3D 配置

245.214 188.936 195.758
194.939 194.242 188.936
....

转换输入数据的最简单方法是什么?我使用 Ubuntu Linux。

【问题讨论】:

  • 我称之为“2D”。或以 3 列的行。

标签: linux bash shell ubuntu


【解决方案1】:

您可以使用column 命令:

cat file.txt | column -c 28 -s "\ "

【讨论】:

    【解决方案2】:

    我可以使用此代码获得所需的输出

    awk '{if(NR%3 == 0){printf("%s\n",$0);}else{printf("%s ",$0);}}' ip_file.txt
    

    【讨论】:

    • 是的...我可以直接将 awk 与文件一起使用。
    • @Raghuram 为什么不更新你的命令然后不用cat 并提供一个更简洁的解决方案,对那些不太熟悉 Unix/Linux 的人有所帮助(只是一个友好的建议)
    【解决方案3】:
    $ xargs -n3 < file.txt mycommand
    

    或者,如果您在另一个文本文件中需要它:

    $ xargs -n3 < file.txt > foo.txt
    

    【讨论】:

      【解决方案4】:

      使用纯 Bash:

      printf '%7.3f %7.3f %7.3f\n' $(<file.txt)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-28
        • 1970-01-01
        • 2021-07-07
        • 2015-12-01
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多