sed命令对文件内的指定字符串进行替换
目录
一、创建一个txt文件
二、替换每行第一个huawei为apple,第三个“/”后,不加参数就是只替换第一个
三、替换每行所有的xiaomi为iphone,第三个“/”后,加参数g就是替换所有
四、替换每行第二个redmi为potato,第三个“/”后,加参数2就是替换第2个
五、替换每行第二个mate到最后一个mate,为pico,第三个“/”后,加参数2g就是替换第2至最后
六、替换每行前两个KFC为CPU
七、替换第二行的第一个HBW为MDL
八、替换第二行到最后一行的HBW为MDL(符号$表示最后一行,如果写数字就代表到第几行)
九、给第一行行首加上chicken(符号^代表行首)
十、给第一行行尾加上beautiful(符号$代表行尾)
十一、给每行行首加上chicken,同时创建备份文件(备份还没有写入chicken的文件)
十二、多个替换动作,用分号;隔开可以一起执行
十三、如果需要替换的字符串包含单引号‘,那么就使用双引号来包围参数
十四、斜杠/本身是作为sed语句中的分隔符,但如果需要替换的字符串里也包含斜杠/,那么可以用井号#来做分隔符(还可以用问号?)
一、创建一个txt文件
vi huawei.txt
二、替换每行第一个huawei为apple,第三个“/”后,不加参数就是只替换第一个
sed -i "s/huawei/apple/" huawei.txt
实现效果:
三、替换每行所有的xiaomi为iphone,第三个“/”后,加参数g就是替换所有
sed -i "s/xiaomi/iphone/g" huawei.txt
实现效果:
四、替换每行第二个redmi为potato,第三个“/”后,加参数2就是替换第2个
sed -i "s/redmi/potato/2"
五、替换每行第二个mate到最后一个mate,为pico,第三个“/”后,加参数2g就是替换第2至最后
sed -i "s/mate/pico/2g"
六、替换每行前两个KFC为CPU
sed -i "s/KFC/CPU/"
sed -i "s/KFC/CPU/"
先替换第一个,此时原本的第二个字符串从顺序上来说变成了第一个,就再替换一次
(以上的操作范围为每一行,接下来我们精确筛选需要修改的特定行or第几行,方便演示我们就只改变特定行的第一个字符串。也就是不加“g”)
七、替换第二行的第一个HBW为MDL
sed -i "2s/HBW/MDL/" HBW.txt
八、替换第二行到最后一行的HBW为MDL(符号$表示最后一行,如果写数字就代表到第几行)
sed -i '2,$s/HBW/MDL/' HBW.txt
注意当语句中使用逗号","时,语句外就必须使用单引号
(以上都是针对特定字符串本身的替换,接下来我们修改行首或行尾).
九、给第一行行首加上chicken(符号^代表行首)
sed -i '1s/^/chicken/' ktv.txt
十、给第一行行尾加上beautiful(符号$代表行尾)
sed -i '1s/$/beautiful/' ktv.txt
(使用sed -i命令直接修改文件后,后悔了怎么办?可以加上参数-i.bak,就会修改的同时创建备份)
十一、给每行行首加上chicken,同时创建备份文件(备份还没有写入chicken的文件)
sed -i.bak 's/^/chicken/' aaa.txt
十二、多个替换动作,用分号;隔开可以一起执行
同时给所有行首加上top,给所有行尾加上bottom(注意没有调用-i参数,修改结果不会写入文件
sed 's/^/top/;s/$/bottom/' aaa.txt
十三、如果需要替换的字符串包含单引号‘,那么就使用双引号来包围参数
替换每行的n’a为na,(注意为了方便没有使用-i参数,修改结果不会写入文件)
sed "s/n'a/na/" aaa.txt
十四、斜杠/本身是作为sed语句中的分隔符,但如果需要替换的字符串里也包含斜杠/,那么可以用井号#来做分隔符(还可以用问号?)
替换n/a为na,(没有调用参数-i,修改结果不会写入文件)
sed "s#n/a#na#" aaa.txt
sed "s?n/a?na?" aaa.txt
感悟:sed的方便在之处在于你可以快速定位编辑文档内容中的某个关键词(你已知那个字符串),但是对于未知字符串就很难直接用sed解决。如密码本,我想替换所有密码,但它们都是随机字符串,假如文件内容是“password:12345678;password:22345678;……”,那么我能够定位的只能是“password:”和“;”,如何继续去替换非固定的“12345678”还需要研究
sed命令对文件内的指定字符串进行替换相关推荐
- linux中使用egrep取值ip地址,egrep命令_Linux egrep 命令用法详解:在文件内查找指定的字符串...
egrep命令用于在文件内查找指定的字符串.egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法.egrep是用extended regu ...
- sed删除以什么开头的内容_使用 sed 命令删除文件中的行
原标题:使用 sed 命令删除文件中的行 Sed 代表流编辑器 Stream Editor ,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要 ...
- 【linux】使用sed删除大文件中的指定行
[linux]使用sed删除大文件中的指定行 引言: 最近在清洗数据时遇到一个超大的文件,需要删除其中不符合数据要求的指定行.使用之前写好的python脚本清洗速度太慢,于是检索了许多linux文件处 ...
- 在文件中查找指定字符串
1. 在指定文件中查看指定字符串的行数 cat file_name | grep -n "String" 2. 在多个文件中查找指定字符串 在多个指定文件中查找指定字符串,命令如下 ...
- python实现文件搜索_python实现搜索指定目录下文件及文件内搜索指定关键词的方法...
本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python -O # -*- coding: UTF-8 ...
- 用批处理实现文本文件中指定字符串的替换 zz
主题 用批处理实现文本文件中指定字符串的替换 « 上一主题 | 下一主题 » uglyfrog 发表于:2005-03-02 02:50 回复 发帖: 249 积分: 0 注册: 2001-12-30 ...
- Linux使用sed命令删除文件中指定内容
因为日志文件太大,希望删除过早的一部分日志,虽然可以用vi或vim打开后删除,但是因为文件很大,打开就很耗时. 因此打算使用sed命令,在不打开文件的情况下删除,但是删除后需要把内容存入一个新文件中, ...
- python替换txt指定内容_python 实现类似sed命令的文件内容替换
#!/usr/bin/env python #_*_coding:utf-8 _*_ #replace()方法把字符串中的 old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换 ...
- sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行
Sed 代表流编辑器Stream Editor,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. ...
最新文章
- MIS开发中C/S模式与B/S模式的结合策略
- typedef的用途
- 数据结构 - 最小堆最大堆
- 笔记:python3编写的仿hubot的聊天机器人Chattie
- 中国电信:1月5G套餐用户数净增826万户
- linux Wi-Fi信号放大,wifi信号增强器
- 使用waitgroup控制协程退出
- Shell学习之IF的使用
- Java HttpResponse 详解
- 使用jQuery+huandlebars遍历中if判断
- python元胞转list_python元胞自动机的简单实现
- JavaCV图片和视频互转 视频添加文字
- 测绘——利用ExifTool提取照片exif信息【windows环境下】(信息非常全)
- win10计算机文件夹隐藏,Win10此电脑6个文件夹隐藏方法
- 正则表达式在线生成代码
- win10用linux命令关机,Win7、Win10和Ubuntu 都在用的关机命令
- html表单验证spry,Spry验证表单教案
- 咸鱼ZTMR实例—板载LED
- CTF压缩包加密破解总结
- 求3000以内的亲密数
热门文章
- 如何限制修改 IP 地址
- python使用from Crypto.Random import random时候出现winrandom导入失败的解决方法
- 计算机网络题库---选择题刷题训练(100多道精品)
- Django框架实现可运营电商网站(一)-- 后台部分
- 判断一个年份是不是闰年(Java)
- 15-当头炮攻屏风马--左马盘河局
- zsh: command not found: nvm
- cosin等于多少,请问sin29.5度等于多少?
- 部分svg去除水印文字
- 苹果手机ios搭建服务器linux,iOS 利用CocoaHttpServer搭建手机本地服务器