2009-04-08 3 views
0

그래서 나는 수정 된 길이의 큰 파일을 가지고 있습니다. 나는 문자 행 위치에서 찾기 및 바꾸기를 원한다.수정 길이 파일에서 찾기/바꾸기를위한 정규 표현식

예 :

xxxxxxx  010109 xxxxxx xxxxx 
xxxxxxx  010309 xxxxxx xxxxx 
xxxxxxx  021506 xxxxxx xxxxx 
xxxxxxx  041187 xxxxxx xxxxx 

그래서 위치 (18)을 통해 위치 (13)에 시작하는 모든 가치를 발견하고 그것을 대체 할 것이다,이 경우 010107.

은 사람이하는 방법에 나를 도와 줄 수 이것에 대한 정규식을 공식?

매우 감사드립니다.

^(.{12})\d{6} 

그리고이 같은 교체 표현 :

답변

1

편집 : 테스트 후, 메모장 ++ 정확한 수를 정의하는 {N} 메서드를 지원하지 않습니다 사용 가능한 문자 수 :

데이터를 테스트 한 결과,

찾기 :

^(............)...... 

은 교체 :

\1010107 
+0

+1을 메모장 + +에서 사용하려면 +1하십시오. –

+0

감사합니다. 나는 이것이 작동 할 수 있다고 생각합니다. – homerjay

0

이 검색 패턴을 시도

\1010107 
0

S/^ (? :. {12}) ({6}.) (:?. *) $/NNNNNN/

이렇게 원하는 숫자로

0

뭔가 NNNNNN 교체 :

 
sed 's/^\(.\{12\}\).\{6\}\(.*\)$/\1010107\2/' 
,

트릭을 수행해야합니다 (명령 행에서 이스케이프 처리)

0

그냥 레코드 용으로 이와 같이 정규식이 필요하지 않습니다. 간단한 분할, 또는 어떤 종류의 언팩 (unpack) 기능은 정상적으로 작동합니다.