移动csv文件中的行-Linux命令
我有一个csv文件,其中有许多这种类型的列和行 foo.csv移动csv文件中的行-Linux命令,linux,csv,command-line,rows,Linux,Csv,Command Line,Rows,我有一个csv文件,其中有许多这种类型的列和行 foo.csv 1 1 x1 1 1 x2 1 1 y1 1 1 y2 . . . 1 1 x1 1 1 y1 1 1 x2 1 1 y2 . . . . . . 我应该使用什么命令或创建什么脚本以使其看起来像这样: foo.csv 1 1 x1 1 1 x2 1 1 y1 1 1 y2 . . . 1 1 x1 1 1 y1 1 1 x2 1
1 1 x1
1 1 x2
1 1 y1
1 1 y2
. . .
1 1 x1 1 1 y1
1 1 x2 1 1 y2
. . . . . .
我应该使用什么命令或创建什么脚本以使其看起来像这样:
foo.csv
1 1 x1
1 1 x2
1 1 y1
1 1 y2
. . .
1 1 x1 1 1 y1
1 1 x2 1 1 y2
. . . . . .
换言之,将最后一行从foo.csv(从1 y1开始)移动到第一行的列
提前谢谢
保罗$cat/tmp/1
abc 1
def 2
ghi 3
pqr 4
uvw 5
xyz 6
$paste根据需要调整awk记录选择器
paste -d " " <(awk '$3~"x"' tests.txt) <(awk '$3~"y"' tests.txt)
paste-d”是用逗号分隔的实际文件吗?也许值得计算文件中的行数,而不是硬编码值wc-l
该命令适用于此两列情况。如果我希望最后一行跨越更多列,该怎么办。例如,abc 1 def 2 ghi 3 pqr 4 uvw 5 xyz 6到abc 1 ghi 3 uvw 5 def 2 pqr 4 xyz 6?@Paul:您可以对命令使用比2更多的参数,也可以运行该命令recursively@Paul:也谢谢你,保罗!