美文网首页
Linux 三剑客之sed

Linux 三剑客之sed

作者: 惊穹 | 来源:发表于2020-07-27 14:35 被阅读0次

    一, 简介

    sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

    二, 语法

    sed [-hnV][-e<script>][-f<script文件>][文本文件]

    三, 参数

    参数说明

    -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。

    -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。

    -h或--help 显示帮助。

    -n或--quiet或--silent 仅显示script处理后的结果。

    -V或--version 显示版本信息。

    动作说明

    a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

    c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

    d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

    i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

    p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

    s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

    四,用法

    1, 增加一行

    sed  '$a newline' tt.txt   //$表示最后一行, 4a表示第四行后

    sed '$i newline' tt.txt    //最后一行前增加一行

    2,删除几行

    sed '2, 3d' tt.txt     //伤处2 3 行

    3,行为单位替换

    sed '2,3c newling' tt.txt   //2,3行替换为newline

    4, 字符搜索

    sed -n /root/p tt.txt     //-n  只显示处理后的结果  p代表显示搜索后结果

    sed /root/d tt.txt    // 搜索到包含root的行,并且删除

    sed s/root/user/g tt.txt   //搜索root 替换为user, g代表处理一行搜索到的多个字符

    5, 直接修改文件内容

    sed -i 动作   //直接修改原始文件

    sed -i 's/chr/chrome/g' tt.txt   //替换原始文件中chr为chrome , g代表处理一行搜索到的多个字符

    相关文章

      网友评论

          本文标题:Linux 三剑客之sed

          本文链接:https://www.haomeiwen.com/subject/lwjzlktx.html