简述Linux文本处理命令“sed”

所属分类: 操作系统 / unix linux 阅读数: 67
收藏 0 赞 0 分享

文本处理编辑命令sed

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

命令格式:

    sed [选项] ‘(截取的行)[动作]' 文件名

 选项:-n:只把经过sed处理的行输出
     -e:允许输入多条动作
    -i:sed修改的结果写入文件 

 截取行:(1)直接输入行号

     (2)/正则表达式/
     (3)x,y 从x到y行,也可以用正则取代
     (4)x,y! 取反
     (5)x~y 从x行开始,步进y行
     (6)$ 文档末 

 动作:p  打印   eg: sed -n '(行)p' student.txt

    a  行后增加新的一行,i  行前增加新的一行

        sed  '1,5a  ============='  student.txt
        sed  '/正则/a ============' student.txt

    d  删除某行

        sed  '/正则/d'  student.txt
        sed  '4d'  student.txt

    c  替换指定行    

        sed '2c canglaoshi bujigee' student.txt
        sed '/正则/c lalalalalalala' student.txt

    s  替换指定字符串(替换每行第一个);结尾g表示每一行所有

        sed  '/正则(定位行)/s/正则(旧)/abcd(新)/' student.txt
        sed  's/正则(旧)/abcd(新)/' student.txt (全文替换)
        sed  '/www/s/33/000/g' zz_test.txt

 操作:{}多个命令组合,用;分开

        sed  '{1,20p;s/www/s/33/000//g}'

    &  取原字符

        sed  's/abc/&def' student.txt (把abc换成abcdef)

    u  字符串首字母改成大写

        sed  's/abc/\u&/' student.txt (把abc改成Abc)

    l  字符串首字母改成小写

    U 字符串所有字母改成大写

        sed  's/abc/\U&/' student.txt (把abc改成ABC)

    L  字符串所有字母改成小写

    r 将某文件插入到另一文件的指定行中

        sed  '1r abc.txt'  123.txt (将abc.txt中的内容插入到123.txt文件的第1行)

    q  退出sed

        sed  '/false/q'  student.txt (找到一个false就退出sed)

以上所述是小编给大家介绍的Linux文本处理命令“sed”,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

vm下centos7 mini版 NAT模式下配置静态IP的方法

这篇文章主要介绍了vm下centos7 mini版 NAT模式下配置静态IP 的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

window10系统安装Ubuntu18.04系统的图文教程详解

这篇文章主要介绍了window10系统安装Ubuntu18.04系统,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

linux yum安装指定版本mysql的教程详解

这篇文章主要介绍了linux yum安装指定版本mysql的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

ubuntu系统下Python虚拟环境的安装和使用教程

这篇文章主要介绍了ubuntu系统下Python虚拟环境的安装和使用教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

在 Ubuntu 上安装 pip的方法

这篇文章主要介绍了在 Ubuntu 上安装 pip的方法,非常不错,具有一定的参考借鉴价值,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

最全的VI命令与快捷键大全集合建议收藏

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里为大家分享VI命令,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Ubuntu18.04下配置Nginx+RTMP+HLS+HTTPFLV服务器实现点播/直播/录制功能

这篇文章主要介绍了Ubuntu18.04下配置Nginx+RTMP+HLS+HTTPFLV服务器实现点播/直播/录制功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Centos7重启apache、nginx、mysql、php-fpm命令方法

这篇文章主要介绍了Centos7重启apache、nginx、mysql、php-fpm命令方法,需要的朋友可以参考下
收藏 0 赞 0 分享

linux 部署apache服务的步骤

这篇文章主要介绍了linux部署apache服务的步骤,部署apache服务的步骤本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

统计Linux 中文件和文件夹/目录的数量(示例代码)

这篇文章主要介绍了统计Linux 中文件和文件夹/目录的数量(示例代码),需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多