sed命令用法

sed命令 [option]  “script”  file

sed命令是一种行编辑工具,他是逐行对文件进行编辑。sed命令有一个模式空间,他将一行命令读取进模式空间进行编辑,完成后将本行数据打印再读取下一行数据进行处理。

option:

-n:静默模式不显示模式空间内容

-f:从指定文件中读取

-i:修改源文件(-i.###会自动将原文件备份为 原文件名.###)

-r:支持扩展正则表达式

-e:多点编辑

script:

1、不给出地址则默认为全文

2、#指定的行

3、#1,#2(#1到#2)  

4、#1,+#2(#1到#1+#2)

5、/pattern1/,/patter2/ (从pattern1第一次匹配到的字符串开始到pattern2第一次匹配到的字符串结束)

6、~步进  ps:1~2=1,3,5,7….

d:删除模式空间匹配到的内容  

f:打印模式空间匹配到的内容(不加-n会输出所有并将匹配内容打印两次)

a\#:在匹配行后面加内容

i\#:在匹配行前面加内容

c\#:替换匹配行内容

w /#/#:保存匹配内容到文件

r/#/#:读取文件内容到匹配行后

=:对模式空间中内容打印行号

!:显示没有匹配到的内容

 

s/#1/#2/:查找替换,支持使用其它分隔符(默认每行只替换第一个匹配到的字符串,#1支持正则表达式,#2不支持)

g: 行内全局替换  p: 显示替换成功的行

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/33348

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-12 09:02
下一篇 2016-08-12 09:02

相关推荐

  • Linux Basics–part5

    1、显示当前系统上root、fedora或user1用户的默认shell ~]# grep “^\(root\|fedora\|user1\)” /etc/passwd | cut -d: -f7 或者 ~]# egrep “^(root|fedora|user1)” /etc/passwd | cut -d:…

    Linux干货 2017-08-24
  • Mysql之主从复制

    Mysql之主从复制 节点一 修改配置文件设置唯一ID开起二进制日志 [root@node1 ~]# vim /etc/my.cnf 增加以下内容     [mysqld]     log-bin=master_bin &nbsp…

    Linux干货 2016-07-19
  • N22-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell;  egrep "^(root|fedora|user1)" /etc/passwd|awk -F: '{printf "%-15s:%-s\n",$1,$7}' 2…

    Linux干货 2016-09-15
  • 马哥教育网络班22期+第9周课程练习 忍者乱太郎喻成

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i user_can_not_login_count; declare -i user_can_login…

    Linux干货 2017-01-03
  • 文本处理

    cat,tac,rev,more,less,head,tail,cut,wc,sort,uniq,grep,
    正则表达式,扩展正则表达式

    2018-03-13
  • 解决线上服务器httpd无法反向代理resin的解决方法

    一、简述   前两天有后端的小伙伴跟我反映说使用httpd反向代理resin时遇到的问题,在做网站管理后台的时候,发起的http的put,delete的请求无法经由resin传递到后面的dbserver。当时的第一反应就是httpd的反向代理设置出现的问题,但是关于httpd反代resin的内容在网上机会搜索不到。于是,查看httpd反代tomca…

    Linux干货 2017-01-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-12 09:33

    对sed的常见用法总结的和好,可以适当的对sed的工作原理进行讲解,理论要结合实际才能让你对sed有一个1更深层次的理解哦