作業中の機械は一定の命名パターンに従います。
ホスト[ドメイン]_[ID]
ここで、[ドメイン]は開発コンピュータの場合は「d」、実稼働コンピュータの場合は「p」、[id]はコンピュータごとに異なる2桁の文字列です。例:「hostp_a1」または「hostd_g5」。
新しい会社のポリシーのために2つのドメインを分離し、開発システムにはサフィックス「.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コマンドの提案がある人がいる場合はそうしてください。ありがとうございます。)