ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文本处理器sed

2021-11-06 20:04:14  阅读:162  来源: 互联网

标签:bin sbin nologin sync sed 处理器 mail 文本 root



Sed是行处理器,每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(Pattern Space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。因此,执行速度也很快。

格式

sed [option]... 'script;script;...' [inputfile...]

常用选项  

  -n 不输出模式空间内容到屏幕,即不自动打印     -r ,-E 使用扩展正则表达式
   -i 直接修改读取的档案内容,而不是由屏幕输出
  -i.bak 备份文件并原处编辑
  -f FIFE 从指定文件中读取编辑脚本
  -e 多点编辑
  -s 将多个文件视为独立文件

script格式:

地址 命令

地址格式:

  1. 不给地址:                          对全文进行处理
  2. 步进:#~#                           以#开头,跳#个;例如1~2就是奇数行
  3. 单地址:
    1. $                              最后一行;
    2. /pattern/                   被此处模式所能匹配到的每一行
  4. 地址范围:
    1. #,#                        从#行到#行;
    2. #,+#                      从#到+#行,例如3,+4表示3到7行
    3. /patten1/,/pattern2/  
    4. /patterm/,#
    5. #,/pattern/

命令

  • p                打印当前模式空间内容,追加到默认输出之后
  • Ip               忽略大小写输出
  • d                删除模式空间匹配的行,并立即启用下一轮循环 
  • a[\]text       在指定行后面追加文本,支持使用\n实现多行追加
  • i[\]text        在行前面插入文本
  • c[\]text       替换行为单行或多行文本
  • =               为模式空间中的行打印行号
  • !                模式空间中匹配行取反处理
  • q               结束或退出sed
  • w  file        保存模式匹配的行至指定文件
  • r   file        读取指定文件的文本至模式空间中匹配到的行后

查找替换

  • s/pattern/string/    修饰符 查找替换,支持使用其它分隔符,可以是其它形式:s@@@,s### 替换修饰符:
  • g                           行内全局替换
  • p                           显示替换成功的行
  • w   /PATH/FILE     将替换成功的行保存至文件中
  • I,i                           忽略大小写

 

c

 1 [16:29:36 root@cen2 ~]#sed '/root/c\centos' /etc/passwd |head -10
 2 centos
 3 bin:x:1:1:bin:/bin:/sbin/nologin
 4 daemon:x:2:2:daemon:/sbin:/sbin/nologin
 5 adm:x:3:4:adm:/var/adm:/sbin/nologin
 6 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
 7 sync:x:5:0:sync:/sbin:/bin/sync
 8 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
 9 halt:x:7:0:halt:/sbin:/sbin/halt
10 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
11 centos

i

 1 [16:30:08 root@cen2[ ~]#sed '/root/i\centos' /etc/passwd |head -10
 2 centos
 3 root:x:0:0:boss,quee,1234991,12211:/root:/bin/bash
 4 bin:x:1:1:bin:/bin:/sbin/nologin
 5 daemon:x:2:2:daemon:/sbin:/sbin/nologin
 6 adm:x:3:4:adm:/var/adm:/sbin/nologin
 7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
 8 sync:x:5:0:sync:/sbin:/bin/sync
 9 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
10 halt:x:7:0:halt:/sbin:/sbin/halt
11 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

a

 1 [16:41:25 root@cen2[ ~]#sed '/root/a\centos' /etc/passwd |head -10
 2 root:x:0:0:boss,quee,1234991,12211:/root:/bin/bash
 3 centos
 4 bin:x:1:1:bin:/bin:/sbin/nologin
 5 daemon:x:2:2:daemon:/sbin:/sbin/nologin
 6 adm:x:3:4:adm:/var/adm:/sbin/nologin
 7 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
 8 sync:x:5:0:sync:/sbin:/bin/sync
 9 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
10 halt:x:7:0:halt:/sbin:/sbin/halt
11 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

 

标签:bin,sbin,nologin,sync,sed,处理器,mail,文本,root
来源: https://www.cnblogs.com/guwenrui/p/15518142.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有