2009-08-31 2 views
1

텍스트 파일에서 일련의 문자를 대체하는 신뢰할 수있는 방법을 찾고 있습니다. 파일이 항상 특정 형식을 따르고 특정 문자 범위 (예 : char 20에서 시작하고 다음 11 개의 문자를 '#'로 대체)가 필요하다는 것을 알고 있습니다.인덱스로 파일의 문자 대체

sed 그리고 대부분의 파일에서 이것을 수행하는 awk. 그러나 필자의 경우 파일의 문자 범위에 임의의 횡설수설하는 문자가 포함되어있어 여러 NULL 문자가 포함되어 있습니다. 이로 인해 파일 명령이 처리를 중지합니다.

나는 파일을 생성하고 NULL 문자로 파일을 채우지 않는 프로세스로 이동하는 것이 가장 간단하다는 것을 알고있다. 그러나이 파일은 메인 프레임에서 실행되는 고대 코볼 (COBOL)에 묻혀있는 프로세스에 의해 생성되며 변경 사항은 거의 의회 행위를 필요로합니다.

그래서, 내가 가지고있는 것과 관련되어 있다는 것을 알고, 명령 행에서 성공적으로 NULL 문자를 겹쳐 쓸 수있는 파일을 조작하는 방법이 있습니까? 사전에

감사합니다.

답변

4

GNU의 DD는

echo '###########'|dd of=FILENAME seek=20 bs=1 count=11 conv=notrunc 

는 echo 명령 입력으로 충분한 문자를 제공해야합니다 것을 할 수 있습니다.

+0

감사합니다. 완벽하게 작동했습니다. –