linux 命令之sed


前言

学习linux命令之sed命令


提示:以下是本篇文章正文内容,下面案例可供参考

一、sed命令简介以及作用

sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern
space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,可以将数据行进行替换、删除、新增、选取等特定工作,简化对文件的反复操作,编写转换程序等

二、sed命令的语法格式

1.命令格式

  sed [options] 'command' file(s);

sed的脚本格式:

  sed [options] -f scriptfile file(s);

参数选项:

 选项
 
  -e :直接在命令行模式上进行sed动作编辑,此为默认选项;
 
  -f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作;
 
  -i :直接修改文件内容;
 
  -n :只打印模式匹配的行;
 
  -r :支持扩展表达式;
 
  -h或--help:显示帮助;
 
  -V或--version:显示版本
 a\ 在当前行下面插入文本;

动作说明:

  a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  i :插入, i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n一起运行~ 
  s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法

2.添加

这是在第一行前添加字符串

sed -i '1i add first content' test.txt

这是在最后一行行前添加字符串

sed -i '$i  add content' test.txt

这是在最后一行行后添加字符串

sed -i '$a add content' test.txt

查看文件中的内容

cat test.txt

在这里插入图片描述
在54行后面新插入一行内容

sed -i  '/54/a\chian' test.txt

在这里插入图片描述

3.删除

sed命令来删除文件中带字符“2”的行

sed -i '/2/d' test.txt

删除第一行和第二行内容

sed -i '1,2d' test.txt

删除第一行内容

sed -i '1d' test.txt

删除文件中最后一行内容

sed -i '$d' test.txt

4.查询/打印

显示11-14行的内容

sed -n '11,14p' test.txt

在这里插入图片描述
只打印匹配替换的行

sed -n 's/old/new/gp' test.txt

打印匹配到user的行,类似grep

sed -n '/user/p' test.txt

只打印第2行内容

sed -n '2p' test.txt

5. 修改

替换第二行内容
在这里插入图片描述

sed -i'2c testContent' test.txt

在这里插入图片描述
匹配每一行的第一个old替换为new

sed 's/old/new/' test.txt

匹配所有old替换为new,g 代表一行多个,i 代表匹配忽略大小写

sed 's/old/new/gi' test.txt

匹配第 3~9 行所有old替换为new

sed '3,9s/old/new/gi' test.txt

总结

这里对sed的命令的curd操作进行了简单介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值