자바파일에서 System.out.println 이 들어있는 라인을 모두 제거하는것을
스크립트로 만들수 있는지여
만들수 있다면 스크립트 예제 좀 부탁드립니다.
파일은 대략 50개 정도입니다.
50개 파일에 들어 있는 System.out.println을 모두 제거하려고 합니다.
#!/usr/bin/perl $removeLineWord = "System.out.println"; foreach (@ARGV){ $filein = $_; $fileout = "$filein.out"; open(i,"<$filein") || die "Can't open $_ "; open(o, ">$fileout"); while (!eof(i)) { $line = <i>; if ( $line =~ /$removeLineWord/ ){ }else{ print o "$line"; } } close(o); close(i); }
p.s. 간단하게 짠거라 좀 허접합니다. 그리고 파일은 .out 붙여서 출력되게 했습니다.
동일 파일에 쓰게 하려면 프로그램이 좀 다른 형태가 됩니다.
( 일괄적으로 치환하는것에 바로쓰는것은 별로 권장하지 않습니다만 이경우도 필요하면 올려드리죠.)
p.s . sed, xargs 를 사용한 버젼을 가르쳐드리고 싶은데 실력이 모지 라네요
find . -name "*.java" -print | while read filename do fgrep -v 'System.out.println' ${filename} > temp mv temp ${filename} done
현재 directory이하의 모든 'java' 확장자 파일을 대상으로 합니다.
Emacs를 쓰신다면,
dired 모드로 들어가서 여러 파일을 선택한 다음
Q REGEXP <RET> TO <RET>
을 실행하시면 됩니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
텍스트 포맷에 대한 자세한 정보
<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]
PERL 로 하면..
p.s. 간단하게 짠거라 좀 허접합니다.
그리고 파일은 .out 붙여서 출력되게 했습니다.
동일 파일에 쓰게 하려면 프로그램이 좀 다른 형태가 됩니다.
( 일괄적으로 치환하는것에 바로쓰는것은 별로 권장하지 않습니다만
이경우도 필요하면 올려드리죠.)
p.s . sed, xargs 를 사용한 버젼을 가르쳐드리고 싶은데 실력이 모지
라네요
grep을 이용해서..
현재 directory이하의 모든 'java' 확장자 파일을 대상으로 합니다.
Emacs를 쓰신다면,dired 모드로 들어가서 여러 파일을 선택
Emacs를 쓰신다면,
dired 모드로 들어가서 여러 파일을 선택한 다음
Q REGEXP <RET> TO <RET>
을 실행하시면 됩니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기