https://blog.csdn.net/zj0910/article/details/12870035

(一)通过vi编辑器来替换。
vi/vim 中可以使用 :s 命令来替换字符串。
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin

(二)直接替换文件中的字符串。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件。)
1.perl命令替换,参数含义如下:
-a    自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
-F    指定-a的分隔符,可以使用正则表达式
-e    执行指定的脚本。
-i<扩展名>   原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份。
-l    对输入内容自动chomp,对输出内容自动添加换行
-n    自动循环,相当于 while(<>) { 脚本; }
-p    自动循环+自动输出,相当于 while(<>) { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak

perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak 
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”

perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 
将每个文件中出现的数值都加一

2.sed命令下批量替换文件内容   

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名

-i 表示inplace edit,就地修改文件

-r 表示搜索子目录

-l 表示输出匹配的文件名
s表示替换,d表示删除

示例:sed -i "s/shan/hua/g"  lishan.txt

把当前目录下lishan.txt里的shan都替换为hua

sed的其他用法如下:

1、删除行首空格
   sed 's/^[ ]*//g' filename
   sed 's/^ *//g' filename
   sed 's/^[[:space:]]*//g' filename

2、行后和行前添加新行
   行后:sed 's/pattern/&\n/g' filename
   行前:sed 's/pattern/\n&/g' filename
   &代表pattern

3、使用变量替换(使用双引号)
    sed -e "s/$var1/$var2/g" filename

4、在第一行前插入文本
    sed -i '1 i\插入字符串' filename

5、在最后一行插入
    sed -i '$ a\插入字符串' filename

6、在匹配行前插入
    sed -i '/pattern/ i "插入字符串"' filename

7、在匹配行后插入
   sed -i '/pattern/ a "插入字符串"' filename

8、删除文本中空行和空格组成的行以及#号注释的行
   grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d

linux中批量替换文本中字符串相关推荐

  1. java 文本编辑器替换特殊字符_linux中批量替换文本中字符串--转载

    (一)通过vi编辑器来替换. vi/vim 中可以使用 :s 命令来替换字符串. :s/well/good/ 替换当前行第一个 well 为 good :s/well/good/g 替换当前行所有 w ...

  2. linux中替换文件中的内容,linux下批量替换文件中的内容linux操作系统 -电脑资料...

    对于单个文件,使用sed命令很容易做到, grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件:参数& ...

  3. python如何替换文件部分内容_python 实现批量替换文本中的某部分内容

    一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...

  4. python一键替换_python 实现批量替换文本中的某部分内容

    一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...

  5. 批量替换文本中的多组字符串

    [问题] hi friends, I have the following demand and I want to know if you have any suggestions for me: ...

  6. Excel 2010 VBA 入门 048 批量替换文本中的指定字符(replayce函数和方法)

    目录 示例: 实现代码 Replace函数 单元格对象的Replace方法 使用Replace方法实现代码 示例: 如图所示,该表为某公司商品编码.由于商品目录升级,现商品编码中以"GXGY ...

  7. 【Python】如何在文件夹里批量替换文本中的内容?

    1.Introduction 用深度学习做目标检测时,有时候标签需要批量替换,这时一个批量处理的代码就很关键~ 2.Materials and methods 下面对文件夹中的所有 xml 文件中的指 ...

  8. 批量替换文本中字符代码-python3

    Excel的批量替换的痛点在于只能每次单次替换一个,利用脚本可以批量同时替换多个字符.首先需要建立replace_new.txt写入你所需要替换的文本,如: "origin    new A ...

  9. linux sed 替换符号,linux sed 批量替换文件中的字符串或符号

    BLE 蓝牙协议栈开发 1.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(1) 2.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(2) 3.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(3) 关 ...

  10. shell批量替换文本中的多种字符串

    需求,需要把文件中,aa替换成AA,bb替换成BB, cc替换成CC, 脚本如下: SRC_STR=(aa bb cc) DST_STR=(AA BB CC) CMAKE_CONFIG=${DST_S ...

最新文章

  1. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术
  2. 如何使用TCP套接字的端口来区分是哪个客户端发起的连接
  3. php 点击之后保留样式,通过不修改arc.archives.class.php而保留原有样式调上一篇下一篇...
  4. Power BI:M与DAX以及度量与计算列
  5. layui导入模板数据_数据可视化图表 教程echarts,第一讲
  6. ORACLE删除当前用户下所有的表的方法
  7. 微服务升级_SpringCloud Alibaba工作笔记0014---Nacos简介和下载_10万微服务实例在线管理
  8. Java Web 开发的目录结构
  9. Atitit.aticmd v4  新特性q39 添加定时器释放功能
  10. Verilog语言生成4位伪随机码
  11. 几种图片去水印方法的效果对比
  12. 美图秀秀各插件适用场景
  13. TT语音借游戏社交“剑走偏锋”,能解“孤独经济”难题?
  14. 让360俯首称臣----详细教程含源码
  15. 单用户MIMO系统(一):信道信息在发端已知
  16. 通过网络前缀求子网掩码
  17. docker实现替换镜像
  18. 如何快速接入海康威视的设备
  19. 探索网易大型自动化测试解决方案 看这里看这里
  20. 多registerComponent页面时如何设置单例组件

热门文章

  1. 文华wh6如何修改服务器,文华财经 软件特色功能介绍修改
  2. php学生宿舍管理系统免费,PHP学生宿舍管理系统
  3. 雨听|生成mac风格代码块
  4. 西门子,欧姆龙,施耐德PLC通信电缆制作图
  5. 俄罗斯方块源代码 java_俄罗斯方块 Java程序源代码 在eclipse上运行
  6. 程序员薪酬报告:过去1年大数据领域薪资有多高?
  7. 教学质量分析系统 php,教学质量分析系统演示.ppt
  8. 晶振 Crystal
  9. Linux之Shell编程详解
  10. 《编程之美》---求二叉树中节点的最大距离