[완료]perl or sed 질문드립니다.
글쓴이: itexpert / 작성시간: 화, 2007/07/03 - 7:18오후
제가 하려는 작업은
----------1.txt---------
aaaaaaa; bbb ccccc dddd
eee; ffffffffffffffffff
fffffffffffffffffff;ffff
gggg; zzzzzzzzzzzzzzzzzz
---------결과-----------
aaaaaaa;
bbb ccccc dddd
eee;
ffffffffffffffffff
fffffffffffffffffff;
ffff
gggg;
zzzzzzzzzzzzzzzzzz
----------------------
즉, ;-> 요거를 만나면 다음에 한줄 내리고싶거든요
perl 이나 sed로 어떻게 하면 될까요??
생각보다 되게 어렵네요. ^^;
Forums:
간단하게... sed -e
간단하게...
sed -e 's/;/;\n/' 1.txt
이렇게 하면 되지 않을까요?
블로그: http://turtleforward.blogspot.com
그게..안되드라구요..
생각보다 어려워요...안되요..ㅜㅜ
정말 안 되나요?
정말 안 되나요? 어떻게 안 되나요?
블로그: http://turtleforward.blogspot.com
sed 's/\; */;\n/'
이렇게 하면 되는데요?
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
읔.......
다안되는데요.-_-;; 변함 없어요.ㅋ
어떤 환경에서
어떤 환경에서 작업을 하시는지 어떻게 안되는지
알려주시는 것이 좋을 듯 하네요.
저는 우분투에서 작업한 결과를 보여드린 겁니다.
펄도 다를 것 없습니다.
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
cat tmp.txt aaaaaaa; bbb
cat tmp.txt
aaaaaaa; bbb ccccc dddd
eee; ffffffffffffffffff
fffffffffffffffffff;ffff
gggg; zzzzzzzzzzzzzzzzzz
sed 's/; */;\n/' tmp.txt
aaaaaaa;nbbb ccccc dddd
eee;nffffffffffffffffff
fffffffffffffffffff;nffff
gggg;nzzzzzzzzzzzzzzzzzz
직접 copy & paste 했습니다.
os는 AIX 5.3입니다.
perl -lpe 's/; */;\n/' tmp.txt
perl -lpe 's/; */;\n/' tmp.txt 은됩니다...
감사합니다. ^^
아..그런데 -lpe옵션은 모에요????
-l 옵션과 -p 옵션은
-l 옵션과 -p 옵션은 sed 처럼 라인단위로 읽고,출력하겠금 동작하게 만드는 것입니다.
-e 옵션은 -e '[펄코드]' 로 쓸수 있게 하는 것입니다.
sed로 안되는 것은 프로그램 자체나 버전의 차이로 보이네요.
아래와 같은 코드는 될지도..
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
감사합니다.
끝까지 자세한 답변 감사드립니다.
좋은한주 보내세요..^___^
댓글 달기