HP에서 grep
글쓴이: armadillo / 작성시간: 월, 2011/07/18 - 1:52오후
반갑습니다.
다름에 아니라 grep명령이 HP에서 조금 이상한거 같아서요...
보통은 패턴매칭을 하지않고 단어만 찾을때 사용했는데,
갑자기 패턴매칭을 해보니 찾아지지가 않네요.
grep '\<T_' *c
화일이름이 c로 끝나는 화일에서 T_으로 시작하는 단어가 있는것을 찾고 싶은데
전혀 grep 결과가 없네요.
확인을 위해서 vi에서 해보니 이상없이 찾아지는데요...
혹시나 해서
grep '\<main' *c 를 해봐도 결과가 나오지 않고
grep '\<main' aCfile.c 를 즉 정확히 화일이름을 주어도 결과가 나오지 않고
grep main *c 를 해보면 결과가 나오네요.
HP문제가 아닐지도 모르겠지만..
혹 패턴 매칭을 위해서는 다른 뭔가가 필요한건지 아니면..?
man페이지를 읽어봐도 특별히 언급된게 없는데...
아..저게 안되면 큰일인데 말이죠.. 소스를 몇백개 뒤져야 하거든요.
뭐 perl로 프로그램을 짜긴되면 되는데...
한방에 해야할껄 그렇게 한다는것도 우습도,...아니 도대체 뭐가 문제인지라도 알고싶습니다.
조언이나 참고할 꺼리라도 알려주시면 감사하겠습니다.
Forums:
잘은 모르겠지만, 이렇게해보면 어떨까요?grep
잘은 모르겠지만, 이렇게해보면 어떨까요?
' --< " 으로 바꾸어도 해봤습니다.뭐 이래
' --> " 으로 바꾸어도 해봤습니다.
뭐 이래 저래 별 방법을 동원해 봐도 안되는데...
솔직히 이제는 오기가 생겨서 이유라도 알고 싶어집니다.
관심 감사드립니다.
grep이 안되는 이유는 모르겠지만,perl을 쓰실
grep이 안되는 이유는 모르겠지만,
perl을 쓰실 수 있으시다면
grep을 이렇게도
아무래도 perl로 짜야할거 같습니다.
프로그램에서 사용하는 테이블 목록을 만들려는게 목적이고
테이블 이름은 T_ 혹은 TB_ 으로 시작되거든요.
find와 grep으로 하면 간단히 해결될거 같았는데....
일단 시간이 급하니 perl로 작업해서 결과물 넘겨주고,
grep 가 안되는 이유는 꼭 확인해보고 싶습니다.
참 펄의 정규표현식도 '\<T_' 가능한지는 확인해봐야 할거 같습니다.
관심 감사드립니다.
일반적인 word boundary의 정규표현식이
일반적인 word boundary의 정규표현식이 "\b"입니다.
"\<"는 start of word의 gnu extension이라고 합니다.
제 grep에서는 되는데, 안되는 머신이 있다면,
grep -E 또는 egrep도 해보시는게..
네... -e, -E 모두 사용해봤습니다.
저도 혹시나 해서 -e 혹은 -E 옵션을 주고 확인해봐도
안되더군요.
grep 버전을 알아보려고
grep -v를 해도 나오지 않고...
저가 알기로는 지금 사용하는 머신이 대략 7년 이상된걸로 알고있습니다.
흐..암튼 감사드립니다.
댓글 달기