[완료]perl 똑같은 단어의 줄만 삭제하기 질문 입니다.
글쓴이: sasimi2001 / 작성시간: 목, 2009/12/03 - 8:00오후
wibro ad-wibro wibro-ad
이런 내용의 텍스트파일이 있습니다.(List) 이내용을 처리해서
ad-wibro wibro-ad
이렇게 나올려고 합니다.
/usr/bin/perl -pi -e "s/.*wibro.*//" ./List
이런식으로 처리하니 내용이 모두 지원지고 이렇게 저렇게도 해봣는데
ad- -ad
아무리 해봐도 이런식으로뿐이 안나오네요..
정리해서 원하는 단어만 있는(일부포함X) 즉 완전 같은 문자열이있는 줄만 삭제하고 싶습니다.(공백X)
그리고 삭제할 문자열은 변수로 받아서 처리합니다.(/usr/bin/perl -pi -e "s/.*$SUCCES.*//s" ./log/FAIL)
아니면 참고사이트라도 알려주셔도 괜찮습니다~^^
추가사항----
/usr/bin/perl -pi -e "s/^wibro$//s" ./List
이렇게 하니 줄삭제가 안되고 wibro 부분이 공백으로 변경되버리더군요..ㅠㅠ
Forums:
두가지 방법
결과를 새로운 파일로
원래파일을 수정
참고: http://gypark.pe.kr/wiki/Perl/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D
죄송합니다, 한가지만 더 여쭤 볼게요..
wibro 211.113.23.23 #space
ad-wibro 123.13.123 #tab
wibro-ad 123.123.123 #tab
이런 형식입니다(hosts 파일임)
단어와 숫자 사이에는 단순공백(space bar)이 올수도 있고 탭공백(tab)이 올수도 있습니다.
/usr/bin/perl -pi -e "s/^wibro(\t.*|$.*)//s" ./List
그래서 이런 식으로 실행하니
ad-wibro 123.13.123
-ad 123.123.123
결과값이 이렇게 나오네요..어느곳을 수정하면 될까요..ㅠㅠ
원하는 결과값은
ad-wibro 123.13.123 #tab
wibro-ad 123.123.123 #tab
입니다.
자답입니다.
/usr/bin/perl -pi -e "s/^wibro(\t.*| .*)//s" ./List
=> 이렇게 하니깐 해결 됐네요.^^
이렇게
방법은 여러가지가 있겠지만 이렇게
댓글 달기