명령어/Linux

[리눅스] shuf 줄을 무작위로 섞거나 표본 뽑기

jykim23 2026. 7. 14. 12:05
반응형

부제: 입력 줄을 무작위로 섞고, 표본·난수를 뽑기

shuf file.txt          # 줄을 무작위로 섞기
shuf -n 5 file.txt     # 무작위 5줄 추출
shuf -i 1-100 -n 1     # 1~100 중 난수 1개
shuf -e a b c          # 나열한 인자를 섞기
$ printf 'a\nb\nc\nd\ne\n' | shuf
c
a
e
b
d

shuf는 입력 줄을 무작위로 섞는다. sort가 정렬한다면 shuf는 그 반대다.
-n으로 무작위 표본을, -i로 범위 난수를, -e로 나열한 인자를 섞을 수 있다.
테스트 데이터 샘플링·무작위 추첨·주사위 굴리기에 요긴하다.

이렇게도 쓴다

주사위를 굴린다.

shuf -i 1-6 -n 1

 

명단에서 무작위 당첨자 한 명을 뽑는다.

shuf -n 1 names.txt

 

큰 로그에서 무작위 표본 100줄을 뽑는다.

shuf -n 100 huge.log

 

seq와 엮어 무작위 순번을 만든다.

seq 10 | shuf | tr '\n' ' '
반응형