私の/etc/aliasesファイルを編集する必要がありますが、100を超えるホストに同じファイルがあるので、スクリプトを作成して実行したいと思います。いくつかのエイリアス項目があり、そのうちの1つから次のようにユーザーとカンマ区切り文字を削除したいと思います。
alias_name1: [email protected],[email protected],[email protected]
alias_name2: [email protected],[email protected],[email protected]
だから「取り除きたいなら、[Eメール保護]「alias_name2」の代わりに「alias_name1」にある「今持っている唯一の例は、ファイル全体からその文字列を削除するか、ファイルの特定の行からその文字列を削除するだけなので、どうすればよいですか?」動作しません。
ベストアンサー1
削除するが削除しない
",[email protected]"
"alias_name1"
"alias_name2"
sed
方法:
sed -E '/^alias_name1/ s/,name2@example\.com(,?)/\1/' /etc/aliases
最初のキャプチャグループトリックは、(...)
数字が行の終わりまたは中央にあるときにも機能します。,[email protected]
出力:
alias_name1: [email protected],[email protected]
alias_name2: [email protected],[email protected],[email protected]