zoukankan      html  css  js  c++  java
  • shell编程——sed用法之参数详解

    sed格式:

    sed 参数 '正则表达式' 文件名

    sed的常见参数有以下几种:

    1、-n, --quiet, --silent
    取消自动打印模式
    
    不加n默认打印整个文件:
    [root@localhost ~]# sed '' test.sh
    #!/bin/bash
    第一行 12345!
    第二行 23456@
    第三行 34567#
    第四行 45678$
    第五行 56789%
    
    加-n取消打印:
    [root@localhost ~]# sed -n '' test.sh 
    2、-e 脚本, --expression=脚本
    添加“脚本”到程序的运行列表,即可以使用多个正则表达式进行匹配
    
    下面列子使用了两个匹配条件,'/23456@/p'把匹配的行找出来,'/23456@/='把该行的行号取出,然后一起打印出来:
    [root@localhost ~]# sed -n -e '/23456@/p' -e '/23456@/=' test.sh 
    第二行 23456@
    3
    
    3-f 脚本文件, --file=脚本文件
    添加“脚本文件”到程序的运行列表
    4、-i[SUFFIX], --in-place[=SUFFIX]
    对文件进行修改
    
    把文件里的“第二行 23456@”替换成“65432”
    [root@localhost ~]# more test.sh 
    #!/bin/bash
    第一行 12345!
    第二行 23456@
    第三行 34567#
    第四行 45678$
    第五行 56789%
    [root@localhost ~]# sed -i 's/第二行 23456@/65432/g' test.sh 
    [root@localhost ~]# more test.sh 
    #!/bin/bash
    第一行 1234565432
    第三行 34567#
    第四行 45678$
    第五行 56789%
    
    5、-c, --copy
    6、-l N, --line-length=N
    指定“l”命令的换行期望长度
    7、--posix
    关闭所有 GNU 扩展
    8-r, --regexp-extended
    在脚本中使用扩展正则表达式
    9-s, --separate
    将输入文件视为各个独立的文件而不是一个长的连续输入
    10、-u, --unbuffered
    从输入文件读取最少的数据,更频繁的刷新输出
    11、--help
    打印帮助并退出
    12、--version
    输出版本信息并退出
  • 相关阅读:
    《人月神话》阅读笔记01
    第二次团队冲刺第八天
    第二次团队冲刺第七天
    第二次团队冲刺第六天
    找水王续
    团队第二次冲刺第五天
    第二次团队冲刺第四天
    原码, 反码, 补码 详解
    《用户故事与敏捷方法》阅读笔记06
    《用户故事与敏捷方法》阅读笔记05
  • 原文地址:https://www.cnblogs.com/dengtr/p/5027371.html
Copyright © 2011-2022 走看看