mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, February 07, 2007

Perl/펄] 텍스트 파일 각 행을, 랜덤하게 무작위로 뒤섞기; Text File Random-Shuffle Lines


텍스트 파일의 각 행들의 순서를 뒤죽박죽으로 섞는 방법입니다. Shuffle(셔플; 카드를 섞다)이라는 표현이 정확합니다.

펄의 기본 모듈에 포함되어 있는 shuffle 함수를 사용합니다. 리스트나 배열의 순서를 뒤섞는 함수입니다. 내장 함수는 아닙니다.

파일 행의 순서 섞기 예제


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

use List::Util qw(shuffle);


  my @a = <>;
  chomp @a;

  print "$_\n" foreach shuffle @a;



(위의 코드 설명은 다음 게시물 참조: ▶▶ Perl/펄] 파일 끝에서부터 거꾸로 읽기; Text File Read Backward)


테스트용으로 쓸 텍스트 파일: test.txt
000
111
222
333
444
555
AAA
BBB
CCC
DDD
EEE
ZZZ
똠방각하

위의 파일의 라인 순서를 아무렇게나 섞어 보겠습니다.


실행 결과 화면:
D:\Z>example.pl test.txt
222
DDD
BBB
555
444
EEE
CCC
000
AAA
똠방각하
ZZZ
333
111

D:\Z>example.pl test.txt
444
BBB
DDD
555
000
CCC
333
222
AAA
111
똠방각하
EEE
ZZZ

D:\Z>example.pl test.txt
000
DDD
똠방각하
111
CCC
444
AAA
333
EEE
555
BBB
ZZZ
222

D:\Z>


각 행들이 랜덤하게 셔플되었습니다.

위의 출력 결과를 파일로 저장하려면

example.pl test.txt > out.txt

이렇게 재지향(Redirection)을 사용하면 됩니다.


▶▶ Perl/펄] 배열 요소 순서 랜덤하게 무작위로 뒤섞기; Array Random-Shuffle




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top