Java教程

shell 批量替换文本中的某一段和批量在多个文件中的某行下添加多行代码

本文主要是介绍shell 批量替换文本中的某一段和批量在多个文件中的某行下添加多行代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

需求:

要求在多个yml文件中修改terminationGracePeriodSeconds: 30为terminationGracePeriodSeconds: 360

批量替换文本中的某一段脚本如下:

[root@VM-1-31-centos shell]# cat for.sh
#!/bin/bash
for i in `cat list.txt`
do
  sed -i "s/terminationGracePeriodSeconds: 30/terminationGracePeriodSeconds: 360/g" $i/$i.yml
done

[root@VM-1-31-centos shell]# cat list.txt
a
b
c
这里的场景是目录和目录下的文件名是一样的,文件名后缀为.ynl

批量在多个文件中的某行下添加多行代码,添加代码如下:

[root@VM-1-31-centos shell]# cat 11.txt
          lifecycle:
            preStop:
              exec:
                command:
                - sleep
                - 60s
###值得注意的是缩进的问题

执行脚本如下:

[root@VM-1-31-centos shell]# cat pi.sh
#!/bin/bash
for i in `cat list.txt`
do
  sed -i '/imagePullPolicy\: Always/r 11.txt' $i/$i.yml
done

list文件

list文件如下:
[root@VM-1-31-centos shell]# cat list.txt
a
b
c
这里的场景是目录和目录下的文件名是一样的,文件名后缀为.ynl

 

这篇关于shell 批量替换文本中的某一段和批量在多个文件中的某行下添加多行代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!