파일 내용을 한 번에 교체 또는 수정

파일 내용을 한 번에 교체 또는 수정

각 계정에 대해 일부 줄을 수정해야 하는 파일이 있습니다.

수정해야 할 줄은 다음과 같습니다.

PstlInfo <some content> NNYYYN(모든 계정에는 이 줄이 있습니다)

NNYYNN (always Y or N only 6 positions)이제 각 계정에 대해 위 줄을 수정 하면 150 됩니다.PstlInfo

PstlInfo <some content> NNNNNN(위의 어떤 줄이든 로 설정해야 함 NNNNNN)

편집기에서 파일을 열어 수동으로 이 작업을 수행할 때마다 해당 위치 (단 5개 위치) vi에서 시작하는 항목만 변경하고 싶습니다 .150

계정이 적으면 수정하기 쉽고 그렇지 않으면 너무 번거로운 작업인데, 한 줄부터 파일을 한 번에 수정할 수 있는 방법이 있나요?PstlInfo

답변1

AIX를 사용하고 계시군요. 여기에는 sed다음을 수행할 수 있는 명령이 있습니다 .

sed '/^PstlInfo/s/^\(.\{150\}\)[NY]\{6\}/\1NNNNNN/' <yourfile >newfile

PstlInfo이렇게 하면 N 또는 Y( )로 구성된 6개의 문자가 시작 줄의 NNNNNN으로 바뀌고 [NY]\{6\}줄의 시작 부분부터 150자( )가 대체됩니다. ^.\{150\}150자가 복사( \(...\))되어 대체 문자열( \1)로 복원됩니다.

관련 정보