일단 주의사항부터
windows os에서는 명령행에서 따옴표사용에 주의를 해야됨
c:\> perl -e 'print "hello\n" '
이렇게 하면
Can't find string terminator "'" anywhere before EOF at -e line 1.
이런 메시지를 만나게 된다.
c:\> perl -e " print 'hello \n' "
또는
c:\> perl -e " print qq(hello \n) "
이렇게 해야됨
hello.java 파일의 첫번째 라인에 package io; 를 추가하려면
c:\> perl -pi.bak -e " $.==1 and print qq(package io;\n) " hello.java
이렇게 하면 hello.java 파일에 추가가 되고 원본은 hello.bak 에 보관된다. bak 파일을 만들고 싶지 않아서 옵션을 추가시켜보기도 하고 변경 시켜보기도 했는데 내 능력으로는 안됨.
폴더내의 모든 java파일에 같은 걸 하고자 아래와 같이 하면 에러메시지를 만난다.
c:\> perl -pi.bak -e " $.==1 and print qq(package io;\n) " *.java
Can't open *.java: Invalid argument.
아래와 같이 해야된다.
c:\> for %k in (*.java) do perl -pi.bak -e "$.==1 and print qq(package io;\n)" %k
덧글