使用:sed [-nefr] action
action:-i直接修改读取的档案内容,而不是由屏幕输出,-r表示支持延伸型正则表达式的语法。
动作说明:[n1[,n2]] function n1,n2表示要选择的行数,function包括:
a-新增,c-取代,d-删除,i-插入,p-打印,s-取代(可以直接进行取代的工作,例如 1,20s/old/new/g)

1 替换第一个匹配的内容

[root@limt01 ~]# echo " This is a test1 test2"|sed 's/test/TEST/'This is a TEST1 test2

2 替换所有匹配的内容

[root@limt01 ~]# echo " This is a test1 test2"|sed 's/test/TEST/g'This is a TEST1 TEST2

3 -i 直接修改源文件

sed -i “s/my/Rango Chen's/g” pets.txt

4 在每一行最前面加上#

[root@limt01 ~]# sed 's/^/#/g' pets.txt
#This is my cat
#my cat's name is betty
#This is my dog
#my dog's name is frank
#This is my fish
#my fish's name is george
#This is my goat
#my goat's name is adam

5 在每一行的末尾加上---

[root@limt01 ~]# sed 's/$/ --- /g' pets.txt
This is my cat ---
my cat's name is betty ---
This is my dog ---
my dog's name is frank ---
This is my fish ---
my fish's name is george ---
This is my goat --- 

6 只替换第3到第6行的文本

[root@limt01 ~]# sed "3,6s/my/your/g" pets.txt
This is my cat
my cat's name is betty
This is your dog
your dog's name is frank
This is your fish
your fish's name is george
This is my goat
my goat's name is adam

7 只替换第3行的文本

[root@limt01 ~]# sed "3s/my/your/g" pets.txt
This is my cat
my cat's name is betty
This is your dog
my dog's name is frank
This is my fish
my fish's name is george
This is my goat
my goat's name is adam

8 只替换每一行的第二个s

sed 's/s/S/2' my.txt    2表示第二个

9 一次替换多个模式,每个模式之间用;进行间隔

sed '1,3s/my/your/g; 3,$s/This/That/g' my.txt
sed -e'1,3s/my/your/g' -e '3,$s/This/That/g' my.txt

基础的正则表示法特殊字符:

^ 表示一行的开头。如:/^#/ 以#开头的匹配。
$ 表示一行的结尾。如:/}$/ 以}结尾的匹配。
\< 表示词首。如\<abc 表示以abc 为首的詞。
\> 表示词尾。如 abc\> 表示以abc 結尾的詞。
\ 将特殊字符进行转义,还原其本身意义:grep -n \' pets.txt 搜寻含有单引号'的那一行。
. 表示任何单个字符。
* 表示某个字符出现了0次或多次。
[ ] 字符集合。如:[abc]表示匹配a或b或c,还有[a-zA-Z]表示匹配所有的26个字符。如果其中有^表示取反,如[^a]表示非a的字符
\{n,m\} 连续n到m个的“前一个RE字符” grep -n 'go\{2,3\}g' 1.txt 在g与g之间有2到3个o存在的字符串,亦即(goog)(gooog)

转载于:https://www.cnblogs.com/limt/p/4523756.html

文件处理命令:sed相关推荐

  1. linux文件替换命令sed使用

    sed -i 's/原内容/目标内容/g' 替换的文件

  2. [Linux命令]Sed命令参数

    一个命令写了半天总是不对,原来时间久了就忘掉了...,收藏自:http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/sed.htm Table of Content ...

  3. sed是linux命令吗,Linux命令 sed

    一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d'  # 删除第2~5行 $ nl passwd | sed '2d'  # 删除第2行 $ nl passwd | ...

  4. linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  5. shell 文件内容替换 sed用法

    调用sed命令有两种形式: sed [options] 'command' file(s) sed [options] -f scriptfile file(s) 删除:d命令  $ sed '2d' ...

  6. java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    [Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...

  7. linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  8. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  9. Linux Log文件常用命令

    笔记:Log文件常用命令 tail tail -f xxx.log 显示最新出现的log tail -f xxx.log | grep 'xxx' 显示最新出现的带有检索词的log tail -f - ...

  10. linux查看日志文件内容命令tail、cat、tac、head、echo

    当日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. Log位置:/var/log/message 系统启动后的信息和错误日志,是Red Hat Li ...

最新文章

  1. 21天学通python pdf-21天学通Python PDF百度网盘资源下载
  2. 2017.4.7 e.toString() 与 e.getMessage()的区别
  3. 北京区域赛I题,Uva7676,A Boring Problem,前缀和差分
  4. REVERSE-PRACTICE-BUUCTF-30
  5. systemtap PHP,systemtap初体验
  6. python 分类_Python数据类型分类
  7. Eureka error java.net.UnknownHostException:
  8. mysql insert表名前不写字段_云计算教程分享Mysql技术知识点
  9. 易语言linux时间戳转换,易语言unix时间戳转易语言格式源码
  10. 解决Mac电脑报错:You don‘t have permission to access that port.
  11. 学生HTML个人网页作业作品——湘菜美食网页设计作品(12页) 美食网站设计与实现
  12. MySQL---数据库基础入门
  13. arm搭建云手机教程_自己能不能搭建云手机平台?
  14. 华大单片机HC32L130X
  15. VC++6.0的简单使用!(保姆级)
  16. 【电脑使用】硬盘无法引导进入系统,无法退出BIOS
  17. 【数据结构与算法】数据结构有哪些?算法有哪些?
  18. identity和assigned 的区别
  19. 华为2021届实习机试题
  20. 主流 RTOS 评估

热门文章

  1. SLAM前端中的视觉里程计和回环检测
  2. SpringBoot conditional注解和自定义conditional注解使用
  3. Memcached安装使用和源码调试
  4. 20种看asp源码的方法及工具
  5. Golang反射机制的实现分析——reflect.Type类型名称
  6. vc6静态库的生成和调用
  7. birt报表表格边框_手把手教你五步制作出一张领导驾驶舱报表
  8. oracle表空间更改用户,ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限...
  9. 计算机应用a级考试,四川省职称计算机应用能力考试A级模拟题
  10. c语言switch不允许实型,C语言中switch语句什么意思