Sed命令基础操作
2017-04-18 14:08
176 查看
sed用法的小技巧
(1)在查找范围时不需要用到替换,所以不用s;
(2)当只需要打印被修改行时,可以使用-n 和 –p 选项,注意二者一定配合使用;
3种方式指定命令行上的多重指令
(1)用逗号分隔指令;
(2)在每个指令前放置-e
(3)输入单分号后敲击return
删除: d命令
$ sed '2d' example-----删除example文件的第二行。
$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。
$ sed '$d' example-----删除example文件的最后一行。
$ sed '/test/'d example-----删除example文件所有包含test的行。
替换: s命令
$ sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记,
则只有每行第一个匹配的test被替换成mytest。
$ sed -n 's/^test/mytest/p' example-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。
也就是说,如果某一行开头的test被替换成mytest,就打印它。
$ sed 's/^192.168.0.1/&localhost/' example-----&符号表示替换字符串中被找到的部份。
所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
$ sed -n 's/\(love\)able/\1rs/p' example-----love被标记为1,
所有loveable会被替换成lovers,而且替换的行会被打印出来。
$ sed 's#10#100#g' example-----不论什么字符,紧跟着s命令的都被认为是新的分隔符,
所以,“ #” 在这里是分隔符,代替了默认的“ /” 分隔符。表示把所有10替换成100。
选定行的范围:逗号
注意:【在查找范围时不需要用到替换,所以不用s.】
$ sed -n '/test/,/check/p' example-----所有在模板test和check所确定的范围内的行都被打
印。
$ sed -n '5,/^test/p' example-----打印从第五行开始到第一个包含以test开始的行之间的所
有行。
$ sed '/test/,/check/s/$/xiong test/' example-----对于模板test和check之间的行,每行的末
尾用字符串xiong test替换。
从文件读入:r命令
$ sed '/test/r file' example-----file里的内容被读进来,显示在与test匹配的行后面,如果
匹配多行,则file的内容将显示在所有匹配行的下面。
写入文件:w命令
$ sed -n '/test/w file' example-----在example中所有包含test的行都被写入file里。
$ sed '1,2 w filedt' quote.txt------将quote.txt文件中的前2行写入到文件filedt中;
追加命令:a命令
$ sed '/^test/a\\--->this is a example' example $ sed '/test/i\\
new line
-------------------------' example
如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。
下一个:n命令
$ sed '/test/{ n; s/aa/bb/; }' example-----如果test被匹配,则移动到匹配行的下一行,替
换这一行的aa,变为bb,并打印该行,然后继续。
变形:y命令
$ sed '1,10y/abcde/abcde/' example-----把1--10行内所有abcde转变为大写,注意,正则表达
式元字符不能使用这个命令。
退出:q命令
$ sed '10q' example-----打印完前10行后,退出sed。
保持和获取: h命令和g命令
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(457) | 评论(0) | 转发(0) |
0
上一篇:一份快速实用的 tcpdump 命令参考手册
下一篇:iptables详解
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
Linux里如何查找文件内容...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
(1)在查找范围时不需要用到替换,所以不用s;
(2)当只需要打印被修改行时,可以使用-n 和 –p 选项,注意二者一定配合使用;
3种方式指定命令行上的多重指令
(1)用逗号分隔指令;
(2)在每个指令前放置-e
(3)输入单分号后敲击return
删除: d命令
$ sed '2d' example-----删除example文件的第二行。
$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。
$ sed '$d' example-----删除example文件的最后一行。
$ sed '/test/'d example-----删除example文件所有包含test的行。
替换: s命令
$ sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记,
则只有每行第一个匹配的test被替换成mytest。
$ sed -n 's/^test/mytest/p' example-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。
也就是说,如果某一行开头的test被替换成mytest,就打印它。
$ sed 's/^192.168.0.1/&localhost/' example-----&符号表示替换字符串中被找到的部份。
所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。
$ sed -n 's/\(love\)able/\1rs/p' example-----love被标记为1,
所有loveable会被替换成lovers,而且替换的行会被打印出来。
$ sed 's#10#100#g' example-----不论什么字符,紧跟着s命令的都被认为是新的分隔符,
所以,“ #” 在这里是分隔符,代替了默认的“ /” 分隔符。表示把所有10替换成100。
选定行的范围:逗号
注意:【在查找范围时不需要用到替换,所以不用s.】
$ sed -n '/test/,/check/p' example-----所有在模板test和check所确定的范围内的行都被打
印。
$ sed -n '5,/^test/p' example-----打印从第五行开始到第一个包含以test开始的行之间的所
有行。
$ sed '/test/,/check/s/$/xiong test/' example-----对于模板test和check之间的行,每行的末
尾用字符串xiong test替换。
从文件读入:r命令
$ sed '/test/r file' example-----file里的内容被读进来,显示在与test匹配的行后面,如果
匹配多行,则file的内容将显示在所有匹配行的下面。
写入文件:w命令
$ sed -n '/test/w file' example-----在example中所有包含test的行都被写入file里。
$ sed '1,2 w filedt' quote.txt------将quote.txt文件中的前2行写入到文件filedt中;
追加命令:a命令
$ sed '/^test/a\\--->this is a example' example $ sed '/test/i\\
new line
-------------------------' example
如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。
下一个:n命令
$ sed '/test/{ n; s/aa/bb/; }' example-----如果test被匹配,则移动到匹配行的下一行,替
换这一行的aa,变为bb,并打印该行,然后继续。
变形:y命令
$ sed '1,10y/abcde/abcde/' example-----把1--10行内所有abcde转变为大写,注意,正则表达
式元字符不能使用这个命令。
退出:q命令
$ sed '10q' example-----打印完前10行后,退出sed。
保持和获取: h命令和g命令
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(457) | 评论(0) | 转发(0) |
0
上一篇:一份快速实用的 tcpdump 命令参考手册
下一篇:iptables详解
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
Linux里如何查找文件内容...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 操作 sed & awk (3) 基础-sed 命令
- Sed命令基础操作
- 用命令来操作vSphere:七操作ESX配置文件的基础-Linux下文本编辑器vi
- 【linux学习】Linux文本操作命令及正则表达式基础
- Python:Mysql编程(基础操作命令)
- 关于Linu型的一些基础常见操作命令(二)
- 关于Linu型的一些基础常见操作命令(一)
- linux 基础命令学习---find, sed
- RHEL6基础之五x-windows界面下的基本操作及内外部命令解释
- Linux 的基础命令操作图解
- linux 操作常用基础命令(1)
- Linux入门基础 #1:命令行bash基本操作
- sed 命令基本操作举例
- shell sed 命令操作手册
- shell sed 命令操作
- sed命令:基础学习
- sed 命令针对某一行进行替换操作
- LINUX基础操作——LINUX的基本常用命令
- 【一天一个shell命令】文本内容操作系列-sed补充
- linux下命令行的使用:使用sed命令操作文件