zoukankan      html  css  js  c++  java
  • sed命令参数之-r -i

    对于初学linux的朋友来说,能记住命令附带的一大帮参数就以及非常不容易了。好不容易把该用的参数都想全了。sed  -irns 后面一大片脚本 ,一执行出错了 what!!!!
    创建一下测试环境 
    head /etc/passwd > 1
    cat 1
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    sed -ir '3,9s/(.*)/#1/g'  1
    然后就出坑了
    sed: -e expression #1, char 16: invalid reference 1 on `s' command's RHS
    非法参数 1 然后抓破头 没错啊
    问题就出在参数的顺序上
    同样我们执行
    sed -ri '3,9s/(.*)/#1/g' 1
    [root@fortestonly ~]# cat 1
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    #daemon:x:2:2:daemon:/sbin:/sbin/nologin
    #adm:x:3:4:adm:/var/adm:/sbin/nologin
    #lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    #sync:x:5:0:sync:/sbin:/bin/sync
    #shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    #halt:x:7:0:halt:/sbin:/sbin/halt
    #mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    ok我们成功了
    那问题出在哪里了显然我们r参数他没干活啊,那他去哪里了
    这时候你在当前目录使用 ls 1* 命令
    1  1r 
    这个1r是哪来的cat查看一下竟然和我们的1原来的内容一样
    这时候仔细参读我们的-i参数
    SUFFIX], --in-place[=SUFFIX]
                  edit  files in place (makes backup if
                  extension  supplied).   The   default
                  operation  mode  is to break symbolic
                  and hard links.  This can be  changed
                  with --follow-symlinks and --copy.
    我们r参数当作备份名的后缀名了,造成我们的正则匹配失效
    

      

  • 相关阅读:
    51单片机按键连击
    未知设备号创建设备节点
    C语言中enum的用法
    linux 端口IO操作
    读写控制台记录级别
    linux内核驱动中读写函数
    使用gawk记录一段时间内,某个进程占用内存和CPU的情况
    <Linux> Ubuntu error: ssh: connect to host master port 22: No route to host lost connection
    MapReduce的分区与 分组二次排序
    问题
  • 原文地址:https://www.cnblogs.com/leleyao/p/10431307.html
Copyright © 2011-2022 走看看