perl을 이용하여 해결하고 싶습니다.
txt파일에
100 200 100 300 200 100 300 150 150 200 300 140 400 300 200 100
이라는 형식으로 기록이 되어있습니다.
이것을
perl을 이용하여 200이상인 값은 1 그렇지 않으면 0로 변환하여라는 것을 할 수 있나요?
즉 아래와 같이 바뀌면 됩니다. 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0
d:\Temp>perl -lne "print(join(' ', map { ($_>=200)?1:0 } split / /,$_))" input.txt 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0
싫으시면 아래 걸로 ^^;
while ( my $line = <> ) { print join(' ', map { $_>=200?1:0 } split / /, $line), "\n"; }
좋은 하루 되세요!
생각해보니 그냥 정규식으로 해도...
d:\Temp>perl -lpe "s/(\d+)/$1>=200?1:0/ge" input.txt 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0
while ( my $line = <> ) { $line =~ s/(\d+)/$1>=200?1:0/ge; print $line; }
감사합니다.... 이제 perl을 배우기 시작했는데 공부해야할것이 많군요...
그래도 덕분에 많은 데이터를 손쉽게 조작할 수 있게 되었습니다.
펄은 참 재미있는것 같습니다...
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
d:\Temp>perl -lne
싫으시면 아래 걸로 ^^;
좋은 하루 되세요!
생각해보니 그냥 정규식으로
생각해보니 그냥 정규식으로 해도...
좋은 하루 되세요!
도움이 많이 되었습니다.
감사합니다.... 이제 perl을 배우기 시작했는데 공부해야할것이 많군요...
그래도 덕분에 많은 데이터를 손쉽게 조작할 수 있게 되었습니다.
펄은 참 재미있는것 같습니다...
댓글 달기