[bash: shuf] 문자열/수자를 무작위로 뒤섞기(shuffling) 리눅스 bash script

텍스트 파일의 각 행을 무작위로 뒤섞거나 특정 범위의 수를 무작위로 뒤섞고 싶을 때는 shuf 명령을 사용하면 되겠다.

예를 들어 my_file.txt에서 무작위로 5개의 행을 뽑아서 화면에 출력하고 싶다면 아래와 같이 하면 되겠다.

shuf -n 5 my_file.txt

my_file.txt의 전체 행을 무작위로 재배열하고 싶다면, my_file.txt가 몇개의 행으로 이루어져 있는지 찾은 후 이 값을 -n 옵션에 넘겨주자.

shuf -n `cat my_file.txt | wc -l` my_file.txt

출력 결과를 다른 파일로 저장하고 싶다면 redirection을 이용하면 된다.

shuf -n `cat my_file.txt | wc -l` my_file.txt > my_file_shuffled.txt

만약 35이상 45이하의 수를 무작위 순서로 출력하고 싶다면 아래과 같이 -i 옵션을 사용하면 된다.

shuf -i 35-45

사무실에서 커피 내기 사다리 타기 대신으로도 활용할 수 있을 듯;;



덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

627349
4728
1719422

ad_widget_2