![단어가 특정 문자열로 끝나는 경우 문자열을 추가하는 방법](https://linux55.com/image/133828/%EB%8B%A8%EC%96%B4%EA%B0%80%20%ED%8A%B9%EC%A0%95%20%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C%20%EB%81%9D%EB%82%98%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
MACHINE_NAME이 다음으로 끝나는 경우 다음 파일을 업데이트하고 싶습니다.".localdomain"그런 다음 단어 시작 부분에 linux 문자열을 추가해야 합니다.
각 MACHINE_NAME 앞에는 단일 대괄호 "..."가 옵니다.
변경 전 파일 예시
['server_primary01.localdomain', 'server_primary02.localdomain', 'server_primary03.localdomain']
EDIT_HOSTS.append( {'HOST' : 'Client0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'Client{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'Client0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'Client{0}.localdomain'.format(count+1)} )
변경된 예시
['linuxserver_primary01.localdomain', 'linuxserver_primary02.localdomain', 'linuxserver_primary03.localdomain']
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )
답변1
sed
해결책:
sed -E "s/[^[:space:]']+\.localdomain/linux&/g" file
예제 출력:
['linuxserver_primary01.localdomain', 'linuxserver_primary02.localdomain', 'linuxserver_primary03.localdomain']
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient0{0}.localdomain'.format(count+1)} )
EDIT_HOSTS.append( {'HOST' : 'linuxClient{0}.localdomain'.format(count+1)} )