Linux 将一列的值插入另一列

Linux 将一列的值插入另一列,linux,awk,Linux,Awk,我有一个以制表符分隔的.txt文件,它有两列,两列中都有一长串值 col1 col2 1 a 2 b 3 c ... ... 我现在想把这个转换成 col1 1 a 2 b 3 c 以便他将第2列中的值插入第1列中的正确位置 有什么方法可以做到这一点,可以使用awk,或者通过命令行执行其他操作?您可以要求awk打印第一列,然后打印第二列。通过对每个案例使用print,您可以确保它们之间有一条新行: awk -F"\t" '{print $1;

我有一个以制表符分隔的.txt文件,它有两列,两列中都有一长串值

col1    col2
1       a
2       b
3       c
...     ...
我现在想把这个转换成

col1
1
a
2
b
3
c
以便他将第2列中的值插入第1列中的正确位置


有什么方法可以做到这一点,可以使用awk,或者通过命令行执行其他操作?

您可以要求
awk
打印第一列,然后打印第二列。通过对每个案例使用
print
,您可以确保它们之间有一条新行:

awk -F"\t" '{print $1; print $2}' file
如果只想打印第一行的第1列,请执行以下操作:

awk -F"\t" 'NR==1 {print $1; next} {print $1; print $2}' file
第二个命令为给定输入返回以下内容:

col1
1
a
2
b
3
c
这应该做到:

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