data.csv라는 2GB csv 파일이 있습니다. data.csv에서 5개의 열을 추출하고 새 파일(바람직하게는 새 csv 파일)로 이동하고 싶습니다.
어떻게 해야 하나요? 실제로 열을 인쇄하지 않고 이 작업을 수행할 수 있는 awk 명령이 있습니까?
답변1
특별한 사치품이 없는 단순한 경우에는 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
파일로 리디렉션합니다.
답변2
대략 다음과 같습니다.
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
대신에.