zoukankan      html  css  js  c++  java
  • sed常用操作命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作。

    命令格式:
    sed [OPTION]... {script-only-if-no-other-script} [input-file]...
    常用选项:
    -n, --quiet, --silent 取消自动打印空间
    -e script, --expression=script 添加”脚本“到程序的运行列表
    -f script-file, --file=script-file 添加”脚本文件“到程序的运行列表
    --follow-symlinks 直接修改文件跟随软连接
    -i[SUFFIX], --in-place[=SUFFIX] 直接修改文件[指定扩展名就备份文件]
    --posix 关闭所有GNU扩展
    -r, --regexp-extended 在脚本中扩展正则表达式
    -s, --separate 将输入文件视为各个独立的文件而不是一个长的连续输入
    -u, --unbuffered 从输入文件读取量少的数据,更频繁的刷新输出
    --help 打印帮助并退出
    --version 输出版本信息并退出

    常用命令:
    a 新增
    c 取代
    d 删除
    i 插入
    p 列印
    s 取代

    例子:

    删除某行
    [root@qingcheng-app3 lgp]# sed '1d' passwd                     //删除第一行
    [root@qingcheng-app3 lgp]# sed '$d' passwd                    //删除最后一行
    [root@qingcheng-app3 lgp]# sed '1,2d' passwd                 //删除第一行到第二行
    [root@qingcheng-app3 lgp]# sed '3,$d' passwd                  //删除第三行到最后一行
    显示某行
    [root@qingcheng-app3 lgp]# sed -n '1p' passwd                //显示第一行 
    [root@qingcheng-app3 lgp]# sed -n '$p' passwd                //显示最后一行
    [root@qingcheng-app3 lgp]# sed -n '1,2p' passwd            //显示第一行到第二行
    [root@qingcheng-app3 lgp]# sed -n '3,$p' passwd            //显示第三行到最后一行      
    使用模式进行查询
    [root@qingcheng-app3 lgp]# sed -n '/root/p' passwd        //查询包括关键字ruby所在所有行
    [root@qingcheng-app3 lgp]# sed -n '/$/p' passwd            //查询包括关键字$所在所有行,使用反斜线屏蔽特殊含义
    增加一行或多行字符串
    [root@qingcheng-app3 lgp]# sed '1a test test test' passwd       //第一行后增加字符串
    root:x:0:0:root:/root:/bin/bash
    test test test
    [root@qingcheng-app3 lgp]# sed '1,3a test test test' passwd      //第一行到第三行后都增加字符串
    代替一行或多行
    [root@qingcheng-app3 lgp]# sed '1c test' passwd                          //第一行代替为test
    [root@qingcheng-app3 lgp]# sed '1,2c test' passwd                       //第一行到第三行代替为test
    替换一行中的某一部分
    [root@qingcheng-app3 lgp]# sed -n '/root/p' passwd|sed 's/root/test/g'   //替换root为test
    [root@qingcheng-app3 lgp]# sed -n '/root/p' passwd|sed 's/root//g'         //删除root
    插入
    [root@qingcheng-app3 lgp]# sed -i '$a bye' passwd                                  //在文件最后一行插入 ”bye"
    删除匹配行
    [root@qingcheng-app3 lgp]# sed -i '/root/d' passwd                            //删除root的行
    
  • 相关阅读:
    PHP 判断数据类型
    JavaScript学习总结(六)——JavaScript判断数据类型总结
    JavaScript学习总结(五)——Javascript中==和===的区别
    JavaScript学习总结(四)——逻辑OR运算符详解
    JavaScript学习总结(三)——逻辑And运算符详解
    JavaScript学习总结(二)——逻辑Not运算符详解
    JavaScript学习总结(一)——JavaScript基础
    JavaScript1.6数组新特性和JQuery的几个工具方法
    用jquery循环map
    php利用递归函数实现无限级分类
  • 原文地址:https://www.cnblogs.com/kangfeng/p/8268952.html
Copyright © 2011-2022 走看看