• fee
    2019-11-23
    3分四十五秒,执行d后面的命令不会被执行,可是s还是替换了,不明白

    作者回复: 应该是后面的输出干扰了你对结果的判断,还是bfile 这个文件:
    $ cat -n bfile
         1    a
         2    aa
         3    aaa
         4    ab
         5    abb
         6    abbb

    执行了 $ sed '/ab/d' bfile
    a
    aa
    aaa
    这条命令之后只剩下前三行,我在后面增加一个打印行号的功能
    $ sed '/ab/d;=' bfile
    1
    a
    2
    aa
    3
    aaa

    因为打印行号之后会自动换行,所以这里的 1、2、3是指前三行,而这里的a、aa、aaa 是前三行的内容, 后面三行因为执行了d指令,后面的=等号,打印行号这个功能没有运行

     1
     1
  • we
    2019-10-29
    老师 ,后面讲的 n ,r,w ,p 没有写实例代码。不怎么明白哦

    作者回复: n,r,w,p 都是sed比较少用的指令,了解就好
    我说下他们的具体功能:
    n 指令,遇到这条指令直接读取文件下一行,p指令,直接打印当前读取的行,例如 seq 10 |sed 'n;p'

    r 指令,一般在r指令前会跟着一个模式匹配,如果匹配了就把r后面的文件追加进来,如 head -3 /etc/passwd | sed '/root/r /etc/hosts'

    w 指令, 和r指令用法很像,匹配了某个模式之后,将匹配的这行写入到另一个文件



    
    
  • we
    2019-10-29
    sed '/ad/r a.txt' b.txt 老师 r 是表示什么哦,是先读取 a.txt 再匹配 ab ? 再和b.txt 合并?

    作者回复: 1 r命令表示读取文件
    2 一定是先匹配再读取哦

    
    
  • SnowyOWL
    2019-10-28
    请问下一行指令n怎么使用呢?
     1
    
我们在线,来聊聊吧