从 csv 文件以相反顺序打印列

dhi*_*you 1 csv bash

输入文件

cityId;cityName;numOfBranches;numOfAtms
1;san bruno;7;11
3;milbrae;12;27
Run Code Online (Sandbox Code Playgroud)

我想以相反的顺序打印列,如下所示:

numOfAtms;numOfBranches;cityName;cityId
11;7;san bruno;1
27;12;milbrae;3
Run Code Online (Sandbox Code Playgroud)

编写了python来反转csv文件,但是需要相当长的时间。有什么办法可以在 bash 中做到这一点吗?

anu*_*ava 6

使用awk

awk 'BEGIN{FS=OFS=";"} {s=$NF; for (i=NF-1; i>=1; i--) s = s OFS $i; print s}' file
numOfAtms;numOfBranches;cityName;cityId
11;7;san bruno;1
27;12;milbrae;3
Run Code Online (Sandbox Code Playgroud)