1、 插入批量内容web
批量修改文件内容通常使用sed,可是在插入多行内容和不一样格式的时候就遇到困难了,今天终于知道怎么处理了,记录一下!api
在一个文件里包含image: 192.168.30.60的行下插入如下内容。app
resources:ui
requests:spa
memory: "768Mi"requests
limits:it
memory: "768Mi"io
变动前:class
apiVersion: extensions/v1beta1test
kind: Deployment
metadata:
name: bi-web
spec:
replicas: 1
template:
metadata:
labels:
app: bi-web
spec:
containers:
- name: bi-web
image: 192.168.30.60:1179/test100/bi-web
ports:
- containerPort: 8080
命令:
sed -i '/image: 192.168.30.60/a\ resources:\n requests:\n memory: "768Mi"\n limits:\n memory: "768Mi"' */deploy.yml
变动后:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: bi-web
spec:
replicas: 1
template:
metadata:
labels:
app: bi-web
spec:
containers:
- name: bi-web
image: 192.168.30.60:1179/test100/bi-web
resources:
requests:
memory: "768Mi"
limits:
memory: "768Mi"
2、 匹配行的行尾添加记录
将匹配到image: 192.168.1.200:1179后追加后缀
sed '/image: 192.168.1.200:1179/ s/$/:{{build_image_tag}}/' deploy.yml