【问题标题】:insert values of a column into other column将一列的值插入另一列
【发布时间】:2015-01-18 13:15:46
【问题描述】:

我有一个制表符分隔的 .txt 文件,其中包含两列和两列中的长值列表

col1    col2
1       a
2       b
3       c
...     ...

我现在想把它转换成

col1
1
a
2
b
3
c

以便他将第 2 列的值插入到第 1 列的正确位置。

有没有办法做到这一点,也许使用 awk,或者通过命令行的其他东西?

【问题讨论】:

    标签: linux awk


    【解决方案1】:

    您可以要求awk 打印第一列,然后打印第二列。通过为每种情况使用print,您可以确保它们之间有一个新线:

    awk -F"\t" '{print $1; print $2}' file
    

    如果您只想在第一行打印第一列,则如下:

    awk -F"\t" 'NR==1 {print $1; next} {print $1; print $2}' file
    

    第二个命令为您的给定输入返回以下内容:

    col1
    1
    a
    2
    b
    3
    c
    

    【讨论】:

      【解决方案2】:

      应该这样做:

      awk -F"\t" -v OFS="\n" '{$1=$1}7' file
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-23
        • 2016-03-02
        相关资源
        最近更新 更多