2013-04-06 4 views
0

거대한 파일이 약 10GB입니다. 그리고 나는 그것의 35 번째 칼럼 (;로 분리됨)을 교체하고 싶다. 그 거대한 파일 인 편집기에서 파일을 여는 것은 옵션이 아니기 때문에. 나는 파일의 모든 라인에서 대체하고 싶다.Unix 명령을 사용하여 거대한 파일에서 지정된 열의 내용을 바꾸는 방법

누군가 내가 Sed를 사용하라고 제안했지만 아직 그것에 익숙하지 않습니다. 누군가는 같은 것을 성취 할 수있는 유닉스 명령을 제안 할 수 있겠는가.

+0

탭 구분 된 파일에 대한

이를 새 '}> oldfile <을 $ 0 인쇄 할 수 있습니다. 파일을 편집 할 수 없으면 수정 된 내용으로 새 파일을 만듭니다. – Barmar

+1

"열지 않고"올바르지 않습니다. 한 번에 전체 파일을 읽지 않고 한 번에 한 줄씩 읽고 읽고 쓸 수 있습니다. – tripleee

답변

1
awk -F';' '{ $35 = "replacement" }' <oldfile> newfile 
+0

Thanls Barmar. 그것은 작동합니다. – user2217783

0

당신 (GNU이 나오지도)에 대한이 작동 될 수 있습니다

sed -i 's/[^;]*/replacement/35' file 
0

허용 솔루션은 나를 위해 작동하지 않았다. 그러나 이것을 찾는데 도왔습니다 :

awk '{$ 35 = "replacement"; 당신은 AWK 또는 펄와 함께 할 수

관련 문제