각 계정에 대해 일부 줄을 수정해야 하는 파일이 있습니다.
수정해야 할 줄은 다음과 같습니다.
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
)로 복원됩니다.