5GB보다 큰 대용량 csv 파일에 헤더 추가

5GB보다 큰 대용량 csv 파일에 헤더 추가

나는 큰 것을 가지고있다데이터 세트문서(5GB) 그리고300개 열, 명령줄을 통해 간단한 헤더를 추가하고 싶습니다.

row-0;row1;row2 ... row299

나는 (루프 없이) sed를 사용합니다:

sed -i 1i'row-0;row-1;row-2 .... ; row-299' file.csv 

이 작업을 수행하는 더 좋고 깨끗한 방법이 있습니까?

감사해요

답변1

사용하는 대신 sed헤더가 포함된 파일을 생성합니다.

printf 'row-%s\n' {0..299} | paste -sd';' > header

그러면 쉽게 할 수 있습니다 cat:

cat header file.csv

재정의하려는 경우:

cat header file.csv > file.csv.tmp && mv file.csv.tmp file.csv

또는 중간 파일이 없는 경우:

cat <(printf 'row-%s\n' {0..299} | paste -sd';') file.csv > file.csv.tmp && mv file.csv.tmp file.csv

관련 정보