2016-06-21 4 views
0

grep과 관련하여 질문이 있습니다.grep을 사용하여 하위 문자열 검색

일부 주소 데이터는 asc 파일에 간단한 텍스트로 있습니다. 처음 30 자는 이름입니다. 이름이 공백 문자 인 30 문자보다 짧으면 길이가 30임을 보장하기 위해 문자를 채 웁니다. 위치 31은 주소 인 다음 데이터와 이름을 구분하는 공백입니다. 주소가 공백 및 기타 다른 데이터이기도합니다. 내 계획은 인덱스 32에서 시작하여 인덱스 50으로 계속되는 주소를 검색하는 것입니다. 저는 주로 행의 시작 부분에서 시작하는 데이터 나 데이터가 없습니다. I는

grep -iE '^.{30}' '.{8}$' myfile.asc 

또는

grep –o -P '^.{31,34}' myfile.asc 

데이터의 각 세트는 데이터를 별도로 공백 제외 다르기 때문에 I가 특정 패턴을 검색 할 수없는 등 여러 가지 방법을 시도했다. 파이프를 통해 다른 방법을 사용하지 않고도 하위 문자열을 검색 할 수 있습니까? 나는 성능이 문제이기 때문에 grep을 선호한다.

+0

'sed'가 더 적합 할 수 있다고 생각합니다. –

답변

0

고정 위치를 다루는 경우 grep 대신 컷을 사용하지 않는 이유는 무엇입니까?

cut -c 32-50 myfile.asc 
관련 문제