약 10GB의 파일이 있어서 제가 사랑하는 Excel에서 처리할 수 없습니다. 이 파일을 첫 번째 숫자를 기준으로 여러 부분으로 잘라야 합니다. 예를 들어 파일은 다음과 같습니다.
0.213;89;230;0.1234
0.213;323;650;0.3500
0.213;8234;10;0.7863
...
0.653;89;230;0.1234
0.653;323;650;0.3500
0.653;8234;10;0.7863
..
1.213;89;230;0.1234
1.213;323;650;0.3500
1.213;8234;10;0.7863
점은 약 200줄 이후의 0.213을 나타냅니다. 내가 정말로 달성하고 싶은 것은 awk, csplit 또는 이와 유사한 것을 사용하는 것입니다. 이 큰 파일을 순전히 첫 번째 숫자를 기준으로 여러 개의 작은 파일로 분할합니다. 그래서..... 0.213과 0.653은 하나의 파일에 들어가야 하고, 1.213과 1.xxx로 시작하는 모든 것은 다음 파일에 들어가야 합니다.
답변1
이를 통해 awk
다음을 수행할 수 있습니다.
awk '{file = "output" substr($0, 1, 1) ".txt"; print > file}' < input.txt
for 행은 for or , ... 행과 같이 들어갑니다 10.123
.output1.txt
1.123
11.123
123123.123
또는 다음을 수행할 수 있습니다.
awk -F'[.;]' '{file = "output" $1 ".txt"; print > file}' < input.txt
.
첫 번째 줄이나 이전 줄( 로 시작하거나 를 입력하는 ;
줄 ) 의 내용을 기반으로 파일 이름을 지정합니다 .10.123;...
10;...
output10.txt