작업 중인 기계는 일정한 명명 패턴을 따릅니다.
호스트[도메인]_[ID]
여기서 [도메인]은 개발 컴퓨터의 경우 "d"이고 프로덕션 컴퓨터의 경우 "p"이며, [id]는 컴퓨터마다 다른 2자리 문자열입니다. 예: "hostp_a1" 또는 "hostd_g5".
이제 새로운 회사 정책으로 인해 두 도메인을 분리했으며 개발 시스템에는 접미사 ".dev"를 추가하고 프로덕션 시스템에는 ".prd"를 추가해야 합니다. 이전 컴퓨터는 이제 "hostp_a1.prd" 및 "hostd_g5.dev"라고 합니다.
저는 오래된 습관을 바꾸고 싶지 않기 때문에 Ksh가 동적으로 이 작업을 수행할 수 있는 방법이 있는지 궁금합니다. 다음은 나를 위해 이 작업을 수행하는 sed 스크립트입니다.
sed -e 's/host\([dp]\)_\(..\)/host\1_\2.\1/' -e 's/p$/prd/' -e 's/d$/dev/'
제가 생각한 몇 가지 해결책은 다음과 같습니다.
정규식 별칭:
나도 비슷한 일을 할 수 있다면
alias host[dp]_..='....
.방아쇠:
트리거는 명령이 입력될 때마다 sed를 실행합니다. 성능이 약간 저하될 수 있지만 대화형이므로 상관하지 않습니다.
Ksh로 할 수 있는 방법이 있나요? 이전 버전을 사용하는 것은 아마도 도움이 되지 않을 것입니다 Version M-11/16/88i
. 어쩌면 다른 쉘도 이것을 할 수 있을까요?
(이 작업을 수행하는 동안 저는 현재 학습 중이므로 sed
더 나은 sed 명령 제안이 있는 사람이 있으면 그렇게 하십시오. 감사합니다.)