한 파일에서 열을 추출하고 열을 인쇄하지 않고 다른 파일로 이동하는 방법은 무엇입니까?

한 파일에서 열을 추출하고 열을 인쇄하지 않고 다른 파일로 이동하는 방법은 무엇입니까?

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 및 클론의 경우 명령은 csvEPEL에 있으며 정상적으로 설치할 수 있습니다. 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

대신에.

관련 정보