【发布时间】: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,或者通过命令行的其他东西?
【问题讨论】:
我有一个制表符分隔的 .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
如果您只想在第一行打印第一列,则如下:
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
【讨论】: