Как использовать 'tr' только для поиска и замены ---
Итак, у меня есть вывод команды (kustomize build
) и я хочу преобразовать ---
на выходе ###
. Например:
$ kustomize build
apiVersion: extensions/v1
kind: Ingress
metadata:
labels:
app: hello-world
---
apiVersion: v1
kind: Service
metadata:
name: hello-world
spec:
ports:
- name: service
port: 443
targetPort: 8443
selector:
app: hello-world
type: NodePort
и я хочу изменить его на:
apiVersion: extensions/v1
kind: Ingress
metadata:
labels:
app: hello-world
###
apiVersion: v1
kind: Service
metadata:
name: hello-world
spec:
ports:
- name: service
port: 443
targetPort: 8443
selector:
app: hello-world
type: NodePort
Я попытался $ kustomize build | tr '\---' '#'
но это заменяет каждый экземпляр даже одного '-'
к '#'
. Я даже пробовалtr '[-]{3}' '#'
но даже это не помогло. Как я могу это сделать?
1 ответ
Решение
tr
переводит только отдельные символы (и удаляет их, если вы это укажете).
Что вам нужно использовать, так это "редактор потока" sed
который может заменять группы символов:
sed 's/---/###/g'