【Linux】sed工具的使用

举报
原来是咔咔 发表于 2022/03/27 00:43:31 2022/03/27
【摘要】 文章目录 前言1. sed用法2. 注意点 前言 在有一定的正则基础应用后,我们可以来玩玩sed的使用。sed本身是一个管线命令,可以分析standard input的,而且sed也是...

前言

在有一定的正则基础应用后,我们可以来玩玩sed的使用。sed本身是一个管线命令,可以分析standard input的,而且sed也是可以将数据进行取代,删除,新增,截取功能,我们先了解一个,然后在聊他的用法

1. sed用法

参数

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

  1. 将etc/passwd的内容列出来并且打印行号。同时删除2~5行
    nl /etc/passwd | sed ‘2,5d’;
    在这里插入图片描述
  2. 将/etc/passwd/ 删除第2行
    nl /etc/passwd | sed ‘2d’;
    在这里插入图片描述
  3. 删除/etc/passwd 从第3行到最后一行
    nl /etc/passwd | sed ‘3,$d’;
    在这里插入图片描述
  4. 在/etc/passwd的第二行后加上“我是咔咔”字样
    nl /etc/passwd | sed ‘2a 我是咔咔’;
    参数a是指目前行的下一行,也就2的下一行3,所以会出现在第三行
    在这里插入图片描述
  5. 在第二行后加上“我是咔咔”与“我是咔咔2”字样,分为俩行显示
    nl 1 | sed ‘2a 我是咔咔\nihao’;
    在这里插入图片描述
  6. 查看一个文件的5到7行
    nl 1 | sed -n ‘2,5p’;
    在这里插入图片描述
  7. 修改文件的内容(不是真的修改)
    在这里插入图片描述
  8. 直接修改文件内容(危险操作)
    加入的你的文件特别的大,使用vim打开的话那是很伤的,那么我们就可以使用sed来操作
    在这里插入图片描述
  9. 在2行后边新增
    在这里插入图片描述
  10. 把3到6行的数据直接取代了
    sed -i ‘3,6c 这是把3到6行的数据给取代的’ 1;
    在这里插入图片描述
  11. 把文章的456换成789然后进行修改
    在这里插入图片描述

2. 注意点

上边的所有的操作,只要在sed 后边跟哥 -i 那么所有的操作都会是真实的写入,而非直观的查看而已。所以-i这个参数在不了解的时候请慎用

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/100185939

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。