将列的值插入其他列

时间:2014-11-20 15:43:55

标签: linux awk

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

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

我想将此转换为

col1
1
a
2
b
3
c

这样他就可以将第2列中的值插入到第1列的正确位置。

有没有办法做到这一点,可能是通过命令行使用awk或其他东西?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

这应该做:

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