linux中批量替换文本中字符串
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中批量替换文本中字符串相关推荐
- java 文本编辑器替换特殊字符_linux中批量替换文本中字符串--转载
(一)通过vi编辑器来替换. vi/vim 中可以使用 :s 命令来替换字符串. :s/well/good/ 替换当前行第一个 well 为 good :s/well/good/g 替换当前行所有 w ...
- linux中替换文件中的内容,linux下批量替换文件中的内容linux操作系统 -电脑资料...
对于单个文件,使用sed命令很容易做到, grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件:参数& ...
- python如何替换文件部分内容_python 实现批量替换文本中的某部分内容
一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...
- python一键替换_python 实现批量替换文本中的某部分内容
一.介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容. 二.代码实现 import re import o ...
- 批量替换文本中的多组字符串
[问题] hi friends, I have the following demand and I want to know if you have any suggestions for me: ...
- Excel 2010 VBA 入门 048 批量替换文本中的指定字符(replayce函数和方法)
目录 示例: 实现代码 Replace函数 单元格对象的Replace方法 使用Replace方法实现代码 示例: 如图所示,该表为某公司商品编码.由于商品目录升级,现商品编码中以"GXGY ...
- 【Python】如何在文件夹里批量替换文本中的内容?
1.Introduction 用深度学习做目标检测时,有时候标签需要批量替换,这时一个批量处理的代码就很关键~ 2.Materials and methods 下面对文件夹中的所有 xml 文件中的指 ...
- 批量替换文本中字符代码-python3
Excel的批量替换的痛点在于只能每次单次替换一个,利用脚本可以批量同时替换多个字符.首先需要建立replace_new.txt写入你所需要替换的文本,如: "origin new A ...
- linux sed 替换符号,linux sed 批量替换文件中的字符串或符号
BLE 蓝牙协议栈开发 1.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(1) 2.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(2) 3.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(3) 关 ...
- shell批量替换文本中的多种字符串
需求,需要把文件中,aa替换成AA,bb替换成BB, cc替换成CC, 脚本如下: SRC_STR=(aa bb cc) DST_STR=(AA BB CC) CMAKE_CONFIG=${DST_S ...
最新文章
- 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术
- 如何使用TCP套接字的端口来区分是哪个客户端发起的连接
- php 点击之后保留样式,通过不修改arc.archives.class.php而保留原有样式调上一篇下一篇...
- Power BI:M与DAX以及度量与计算列
- layui导入模板数据_数据可视化图表 教程echarts,第一讲
- ORACLE删除当前用户下所有的表的方法
- 微服务升级_SpringCloud Alibaba工作笔记0014---Nacos简介和下载_10万微服务实例在线管理
- Java Web 开发的目录结构
- Atitit.aticmd v4 新特性q39 添加定时器释放功能
- Verilog语言生成4位伪随机码
- 几种图片去水印方法的效果对比
- 美图秀秀各插件适用场景
- TT语音借游戏社交“剑走偏锋”,能解“孤独经济”难题?
- 让360俯首称臣----详细教程含源码
- 单用户MIMO系统(一):信道信息在发端已知
- 通过网络前缀求子网掩码
- docker实现替换镜像
- 如何快速接入海康威视的设备
- 探索网易大型自动化测试解决方案 看这里看这里
- 多registerComponent页面时如何设置单例组件