![텍스트 줄의 무작위 배열](https://linux55.com/image/59216/%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EC%A4%84%EC%9D%98%20%EB%AC%B4%EC%9E%91%EC%9C%84%20%EB%B0%B0%EC%97%B4.png)
다음 내용이 포함된 파일이 있는 경우:
0001
0002
0003
0004
0132
0137
0138
0141
Bash에서 무작위 순열을 얻으려면 어떻게 해야 합니까?
답변1
shuf
당신이 찾고있는 명령입니다.
에서 man shuf
,
-n, --head-count=최대 COUNT 라인에서 COUNT 출력
예를 들어 파일에서 무작위로 4개의 줄을 얻으려면 다음을 사용합니다.
shuf -n 4 file
다음 방법을 사용할 수도 있습니다.
head -$((${RANDOM} % `wc -l < file` + 1)) file | tail -1
이 중 마지막 파이프는 출력에서 원하는 행 수를 지정합니다.
인용하다
답변2
coreutils에서 다음 중 하나를 사용하여 sort
이 작업을 수행 할 수 있습니다.
sort -R file
sort --random-sort file
sort --sort=random file
에서 man sort
:
-R, --random-sort
sort by random hash of keys
--sort=WORD
sort according to WORD: general-numeric -g, human-numeric -h, month
-M, numeric -n, random -R, version -V