Linux
如何從一個文件中提取列並移動到另一個文件而不列印列?
我有一個名為 data.csv 的 2GB csv 文件。我想從 data.csv 中提取 5 列並移動到一個新文件(最好是一個新的 csv 文件)。
我怎樣才能做到這一點?是否有一個 awk 命令允許我在不實際列印列的情況下執行此操作?
類似於以下內容:
csv 1 3 4 6 7 <data.csv >new.csv
- 假設列 1 3 4 6 和 7 當然!對於 RHEL 和複製,該命令
csv
位於 EPEL 中,可以按正常方式安裝。對於 Ubuntu 及其朋友,請嘗試:csvtool col 1,3,4,6,7 data.csv >new.csv
例如:
$ cat data.csv 1,2,3,4,5,6,7,8,9,0 q,w,e,r,t,y,u,i,o,p a,s,d,f,g,h,j,k,l z,x,c,v,b,n,m $ csvtool col 1,2,3,4,5 data.csv >new.csv $ cat new.csv 1,2,3,4,5 q,w,e,r,t a,s,d,f,g z,x,c,v,b
反而。
對於沒有任何
csv
具體奢侈的簡單案例,cut
可能會:cut -d, -f1-5 file 1,2,3,4,5 q,w,e,r,t a,s,d,f,g z,x,c,v,b
或者,對於單個非連續欄位,
cut -d, -f1,3,7 file 1,3,7 q,e,u a,d,j z,c,m
重定向到所需的新
.csv
文件。