目录

一、创建一个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命令对文件内的指定字符串进行替换相关推荐

  1. linux中使用egrep取值ip地址,egrep命令_Linux egrep 命令用法详解:在文件内查找指定的字符串...

    egrep命令用于在文件内查找指定的字符串.egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法.egrep是用extended regu ...

  2. sed删除以什么开头的内容_使用 sed 命令删除文件中的行

    原标题:使用 sed 命令删除文件中的行 Sed 代表流编辑器 Stream Editor ,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要 ...

  3. 【linux】使用sed删除大文件中的指定行

    [linux]使用sed删除大文件中的指定行 引言: 最近在清洗数据时遇到一个超大的文件,需要删除其中不符合数据要求的指定行.使用之前写好的python脚本清洗速度太慢,于是检索了许多linux文件处 ...

  4. 在文件中查找指定字符串

    1. 在指定文件中查看指定字符串的行数 cat file_name | grep -n "String" 2. 在多个文件中查找指定字符串 在多个指定文件中查找指定字符串,命令如下 ...

  5. python实现文件搜索_python实现搜索指定目录下文件及文件内搜索指定关键词的方法...

    本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python -O # -*- coding: UTF-8 ...

  6. 用批处理实现文本文件中指定字符串的替换 zz

    主题 用批处理实现文本文件中指定字符串的替换 « 上一主题 | 下一主题 » uglyfrog 发表于:2005-03-02 02:50 回复 发帖: 249 积分: 0 注册: 2001-12-30 ...

  7. Linux使用sed命令删除文件中指定内容

    因为日志文件太大,希望删除过早的一部分日志,虽然可以用vi或vim打开后删除,但是因为文件很大,打开就很耗时. 因此打算使用sed命令,在不打开文件的情况下删除,但是删除后需要把内容存入一个新文件中, ...

  8. python替换txt指定内容_python 实现类似sed命令的文件内容替换

    #!/usr/bin/env python #_*_coding:utf-8 _*_ #replace()方法把字符串中的 old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换 ...

  9. sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行

    Sed 代表流编辑器Stream Editor,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. ...

最新文章

  1. MIS开发中C/S模式与B/S模式的结合策略
  2. typedef的用途
  3. 数据结构 - 最小堆最大堆
  4. 笔记:python3编写的仿hubot的聊天机器人Chattie
  5. 中国电信:1月5G套餐用户数净增826万户
  6. linux Wi-Fi信号放大,wifi信号增强器
  7. 使用waitgroup控制协程退出
  8. Shell学习之IF的使用
  9. Java HttpResponse 详解
  10. 使用jQuery+huandlebars遍历中if判断
  11. python元胞转list_python元胞自动机的简单实现
  12. JavaCV图片和视频互转 视频添加文字
  13. 测绘——利用ExifTool提取照片exif信息【windows环境下】(信息非常全)
  14. win10计算机文件夹隐藏,Win10此电脑6个文件夹隐藏方法
  15. 正则表达式在线生成代码
  16. win10用linux命令关机,Win7、Win10和Ubuntu 都在用的关机命令
  17. html表单验证spry,Spry验证表单教案
  18. 咸鱼ZTMR实例—板载LED
  19. CTF压缩包加密破解总结
  20. 求3000以内的亲密数

热门文章

  1. 如何限制修改 IP 地址
  2. python使用from Crypto.Random import random时候出现winrandom导入失败的解决方法
  3. 计算机网络题库---选择题刷题训练(100多道精品)
  4. Django框架实现可运营电商网站(一)-- 后台部分
  5. 判断一个年份是不是闰年(Java)
  6. 15-当头炮攻屏风马--左马盘河局
  7. zsh: command not found: nvm
  8. cosin等于多少,请问sin29.5度等于多少?
  9. 部分svg去除水印文字
  10. 苹果手机ios搭建服务器linux,iOS 利用CocoaHttpServer搭建手机本地服务器