1 개요[ | ]
- 리눅스 sed YAML 파일 다루기
2 값 변경[ | ]
yaml
Copy
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
Console
Copy
tester@localhost:~$ cat nginx.yaml | sed ':a;N;$!ba;s/\(DEMO_GREETING[^"]\+\)"[^"]\+"/\1"lorem ipsum"/'
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
env:
- name: DEMO_GREETING
value: "lorem ipsum"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
3 블럭 삭제[ | ]
yaml
Copy
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
Console
Copy
tester@localhost:~$ cat nginx.yaml | sed ':a;N;$!ba;s/\s\+- name: DEMO_GREETING[^:]\+:[^\n]\+//'
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
env:
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
yaml
Copy
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
Console
Copy
$ cat task-pv-pod.yaml | sed ':a;N;$!ba;s/\s\+volumes:.*claimName: task-pv-claim//'
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
4 같이 보기[ | ]
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Sed (2)
리눅스 파일 특정 행 보기 ― 바가누르바기수리눅스 파일 특정 행 보기 ― Jmnote