grep이용한 패턴 매칭.. 도와주세요

copyrei의 이미지

cat test | grep ^## | wc -l

로 하면 ##로 시작하는 행의 개수를 세어 줍니다

그런데 간단하게 테스트 하면 잘~ 되는데

진짜 실행할 200라인 정도되는 화일은 결과값이

2개가 모자라게 나옵니다.

눈으로 열심히 -_- 세어보면 15개가 나오는데

저렇게 돌리면 13개만 나오네요.. 환장합니다..

왜그런지 아시는분... 참고로 ##다음에 숫자가 붙어있습니다.

이것때문에 그런것인지..

또 여쭤볼것은..(죄송)

화일에서 스페이스로 띄어져 있는 컬럼 단위로 떼어내는

명령은 뭐죠? 며칠전에 분명히 봤는데.. ㅠ.ㅠ

알려주세요..

송지석의 이미지

컬럼단위로 띄어져 있는 것은 awk로 하시면 됩니다.

faye의 이미지

혹시 ## 앞에 공백이 있어서 그런지 모르니..

cat test |grep "^[[:blank:]]*##" |wc -l

이렇게 해보세요..

그리고 공백 필드 문장열 처리는 awk를 이용하면 될것 같내요..

도움 되셨길..

익명 사용자의 이미지

copyrei wrote:
cat test | grep ^## | wc -l

로 하면 ##로 시작하는 행의 개수를 세어 줍니다

그런데 간단하게 테스트 하면 잘~ 되는데

진짜 실행할 200라인 정도되는 화일은 결과값이

2개가 모자라게 나옵니다.

눈으로 열심히 -_- 세어보면 15개가 나오는데

저렇게 돌리면 13개만 나오네요.. 환장합니다..

왜그런지 아시는분... 참고로 ##다음에 숫자가 붙어있습니다.

이것때문에 그런것인지..

또 여쭤볼것은..(죄송)

화일에서 스페이스로 띄어져 있는 컬럼 단위로 떼어내는

명령은 뭐죠? 며칠전에 분명히 봤는데.. ㅠ.ㅠ

알려주세요..

^\#\# 으로 해보세요.

간단하게는 cut -d " " -f 필드번호, 필드번호
또는 gawk '{ print $2,$4 }'

copyrei의 이미지

원인은 알수 없었지만 해결은 했습니다..

컬럼별로 나누는것은 제가 awk 메뉴얼에서 봤었군요.. ㅠ.ㅠ

며칠사이 문자열 처리 관련 이것저것 너무 많이 봐서.. -_-;

아무튼 감사합니다~ ^^