sed命令的基本使用
sed(Stream Editor):流编辑器
一次只读取一行
模式空间
1、sed语法:
sed [option] "script" FILE...
2、选项:
-n:静默模式,不输出模式空间中的内容
-r:使用扩展的正则表达式
-f:/path/to/sed_script_file:指定sed脚本文件
-e 'script' -e 'script' :指定多个编辑脚本
-i:直接修改读取的文件内容,而不是输出到终端
3、编辑命令:
d:删除
p:打印
i \text:匹配内容上面增加text内容
a \text:匹配内容西面增加text内容
r /path/to/somefile:在制定位置把另外一个文件的内容插入进来
w /path/to/somefile:将符合条件的所有行保存至指定得文件中
= :显示符合条件行的行号
例如:# sed -n '/^UUID/=' /etc/fstab
s///:查找条件可以使用模式,但要替换的内容不行
4、地址定界:
startline,endline:1,3
/pat1/,/pat2/
/pattern/
用法:
sed [options] 'addr1[,addr2]编辑命令' FILE ...
sed [options] "addr1[,addr2]编辑命令" FILE ...
5、正则表达式:
基本的:
字符:
.
[]
[^]
次数:
*
\?
\{m,n\}
锚定:
^
$
\<,\b
\>,\b
分组:
\(\)
引用:
\1,\2,...
扩展:
字符:
.
[]
[[:lower:]],[[:punct:]],[[:alnum:]]
次数:
*
?
+
{m,n}
锚定:
^
$
\>,\b
\<,\b
或:
a|b
分组:
()
引用:
\1,\2,...
sed '地址定界s@查找条件@替换文本@'
6、修饰符:
g:global,全局替换
i:ignore-case,不区分字符大小写
7、例子:
1、将selinux的enforcing改成disabled
# sed 's@^SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config
2、删除/etc/init.d/functions文件中的空白行
# sed '/^$/d' /etc/init.d/functions
3、删除/etc/inittab文件中位于行首的#号
# sed 's@^#@@g' /etc/inittab
4、删除/etc/rc.d/rc.sysinit文件夹中以#后跟至少一个空白字符开头的行的行首的#和空白字符
# sed 's@^#[[:space:]]\{1,\}@@g' /etc/rc.d/rc.sysinit
5、删除/boot/grub/grub.conf文件中行首的空白字符
# sed 's@^[[:space:]]\{1,\}@@' /boot/grub/grub.conf
6、取出一个文件路径的目录名称
# echo /etc/sysconfig/network/ | sed 's@[^/]\{1,\}/\?$@@'
sed命令的基本使用的更多相关文章
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- linux shell 用sed命令在文本的行尾或行首添加字符
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...
- linux sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
- sed命令详解
搜索 纠正错误 添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...
- Linux安全基础:sed命令的使用
sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...
- [转]sed命令详解
转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...
- sed命令
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- sed 命令使用
ios 的sed 命令 跟linux sed 命令有区别 # 所有的a 替换成b sed -i "" 's/a/b/g' #删除掉所有包含a的行 sed -i "/a/ ...
- sed命令给文本文件的每行的行首或者行尾添加文字
在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/ ...
- Linux的sed命令
一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...
随机推荐
- react项目组件化思考
三个原则 single store render from top immutable data single store,便于组件之间通信. render from top,因为store就一个,每 ...
- linux 知识汇总
1 ) linux下文件系统类型的学习 2 )深入理解linux i节点(inode) 3 )RAID系列
- pycharm 常用设置,打开文件数量
1.主题(皮肤)和字体的设置(暂时略过) File ->Settings -> 搜索Font 2.文档行号的设置 1,临时设置.右键单击行号处,选择 Show Line Numbers. ...
- Python之SQLAlchemy学习
alchemy 英[ˈælkəmi] 美[ˈælkəmi] n. 炼金术; 炼丹术; (改变事物.物质的)魔力(或方法) ; (事物.物质的) 神秘变化; SQLAlchemy是Python中最有名的 ...
- (十)Linux 网络编程之ioctl函数
1.介绍 Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的 ...
- GIT warning: LF will be replaced by CRLF.
git config --global core.autocrlf false git config --global core.autocrlf false
- View绘制--onMeasure() 、onLayout()
绘制需要经过多次 measure() layout() 过程, measure:测量,不可被子类继承,调用onMeasure()方法 onMeasure():测量,测量结束后每一个View都保存了自己 ...
- 用substr()截取中文出现乱码的解决方法
截取中文字符串时出现乱码(使用substr()函数) 程序一:PHP截取中文字符串方法 function msubstr($str, $start, $len) { $tmpstr = &quo ...
- js高级程序设计(七)函数表达式
定义函数的方式有两种:一种是函数声明,另一种就是函数表达式.函数声明的语法是这样的. function functionName(arg0, arg1, arg2) { //函数体 } Firefox ...
- c# string.format json字符串 formatException错误
正常字符串的string.format是没问题的但是在拼接json的字符串的时候因为里面包含了 {} 花括号 里面又嵌套了 {0} {1} {2}这些要替换的关键字 所以会报错. 经过百度. 字符串 ...