0과 큰 숫자(포함) 사이의 모든 숫자를 임의의 순서로 파일에 씁니다.

0과 큰 숫자(포함) 사이의 모든 숫자를 임의의 순서로 파일에 씁니다.

제가 하고 싶은 시뮬레이션을 위해서는 0에서 2^33 사이의 숫자가 포함된 텍스트 파일이 필요합니다. 이는 엄청난 숫자입니다. 나는 다음 명령을 사용했습니다.

seq 0 Number >> OUTPUT FILE

그러나 이것은 매우 느립니다. 파일이 거의 94GB이므로 사용할 수 없습니다 shuf. 그런 다음 나는타라쇼프작성: Alexandres 이것도 꽤 시간이 걸렸습니다. 원하는 작업을 완료했지만 단일 명령으로 이 작업을 수행하는 더 빠른 방법이 있는지, 이 숫자의 순서를 실제로 무작위로 지정할 수 있는 방법이 있는지 알고 싶습니다.

노트:오랫동안 Linux를 사용해 왔지만 bash 스크립팅에 대한 지식은 매우 제한적입니다. 그러니 초보자도 이해할 수 있는 답변을 해주시기 바랍니다.

답변1

이 경우 가장 좋은 해결책은 shuf프로그램의 소스 코드를 수정하거나 유사하게 만드는 것입니다.

그런 다음 입력 부분을 버리고 셔플 부분을 사용하여 인덱스를 작성할 수 있습니다. 인덱스를 문자열로 변환하지 않고 줄 바꿈 없이 바이너리 파일에 쓰는 것이 유용할 수 있습니다. 파일이 훨씬 작아서 읽기가 더 빠르기 때문입니다.

관련 정보