특정 텍스트로 시작하는 줄을 바꾸려면 sed 또는 perl 명령이 필요합니다.

특정 텍스트로 시작하는 줄을 바꾸려면 sed 또는 perl 명령이 필요합니다.

여러 서버의 파일에서 특정 텍스트로 시작하는 줄을 찾은 다음 전체 줄을 바꾸는 sed 또는 perl 명령을 찾고 있습니다. 줄은 항상 동일한 문자열로 시작하지만 나머지는 다를 수 있습니다. 그래서 처음과 상당히 잘 어울리는 것이 필요하고 모든 것을 교체합니다.

예를 들어

서버 1: myfile.txt

SAMail: [email protected]

서버 2: myfile.txt

SAMail: [email protected]

서버 3: myfile.txt

SAMail: [email protected]

file.txt세 서버 모두의 My에서 "SAMail:"을 찾아 다음으로 바꾸려면 명령이 필요합니다.SAMail: [email protected]

답변1

sed내가 올바르게 이해했다면 이것은 하나의 가능성입니다.

입력하다

SAMail: [email protected]
foo: [email protected]
foo SAMail

sed '/^SAMail/s;[^ ]*$;[email protected];' "My file.txt"

산출:

SAMail: [email protected] 
foo: [email protected]
foo SAMail

관련 정보