sed工具命令
2015-08-10 11:18
274 查看
sed是非交互式的编辑器。它不会修改文件,除非使用shell来重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从缓冲区删除,然后将下一行读入,进行处理和显示,处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以将不会修改原文件。
$ nl regular_express.txt | sed '2,4d' #将regular_express的内容列出并打印行号,同时将2-5行删除
$ nl regular_express.txt | sed '2d' #将regular_express的内容列出并打印行号,同时将第2行删除
$ nl regular_express.txt | sed '3,$d' #将regular_express的内容列出并打印行号,同时删除第三行和最后一行,$定位到最后一行
$ sed -i '1d' regular_express.txt #在原文中删除第一行
a表示在行后加上字符串 i表示在航前添加字符串
$ nl regular_express.txt | sed '2a text' #在第二行后加入test字符串
$ nl regular_express.txt | sed '2i text' #在第二行前添加test字符串
$ nl regular_express.txt | sed '1a test/ntest' #在1行后加入两行test \n表示换行
$ nl regular_express.txt | sed '2,5c No 2-5 number' #将2-5行内容改为No 2-5 number
sed命令中-n为安静模式选项
$ nl regular_express.txt | sed -n '5,7p' #只输出5-7行
$ nl regular_express.txt | sed '5,7p' #输出全部 并且5-7行输出double
sed 's/被替换字符串/新字符串/g'
$ /sbin/ifconfig eth0 | grep 'inet' #获取本机IP的行
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g'
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.\{0,9\}://g' #将IP前面的部分给予删除
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/..:.*$//g' #将IP后面的部分删除
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/.\{0,3\}:.*$//g' #将IP后面的部分删除
sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从缓冲区删除,然后将下一行读入,进行处理和显示,处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以将不会修改原文件。
$ nl regular_express.txt | sed '2,4d' #将regular_express的内容列出并打印行号,同时将2-5行删除
$ nl regular_express.txt | sed '2d' #将regular_express的内容列出并打印行号,同时将第2行删除
$ nl regular_express.txt | sed '3,$d' #将regular_express的内容列出并打印行号,同时删除第三行和最后一行,$定位到最后一行
$ sed -i '1d' regular_express.txt #在原文中删除第一行
a表示在行后加上字符串 i表示在航前添加字符串
$ nl regular_express.txt | sed '2a text' #在第二行后加入test字符串
$ nl regular_express.txt | sed '2i text' #在第二行前添加test字符串
$ nl regular_express.txt | sed '1a test/ntest' #在1行后加入两行test \n表示换行
$ nl regular_express.txt | sed '2,5c No 2-5 number' #将2-5行内容改为No 2-5 number
sed命令中-n为安静模式选项
$ nl regular_express.txt | sed -n '5,7p' #只输出5-7行
$ nl regular_express.txt | sed '5,7p' #输出全部 并且5-7行输出double
sed 's/被替换字符串/新字符串/g'
$ /sbin/ifconfig eth0 | grep 'inet' #获取本机IP的行
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g'
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.\{0,9\}://g' #将IP前面的部分给予删除
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/..:.*$//g' #将IP后面的部分删除
$ /sbin/ifconfig eth0 | grep 'inet' | sed 's/.inet...://g' | sed 's/.\{0,3\}:.*$//g' #将IP后面的部分删除
相关文章推荐
- CSS圆角,输入框提示信息,JS查找同级元素
- 我关注的一周技术动态
- IOS 获取所有图片工具类
- Tomcat优化配置
- 仿微信按返回键app退到后台,并在通知栏里显示
- 网络编程系列之十一 radius客户端(802.1x客户端)
- ImageUtils-图片工具类
- poj 1611 The Suspects(简单并查集)
- NYOJ--6--喷水装置(一)
- android 在代码中使用 #ffffff 模式 设置背景色
- Common Subsequence 杭电HDU1159 【动态规划LCS】
- 【原】iOS动态性(三) Method Swizzling以及AOP编程:在运行时进行代码注入
- php中fopen不能创建中文文件名文件的问题
- iOS开发 - 检测网络状态(WIFI、2G/3G/4G)
- 如何与接口合作方合作
- Haar特征与积分图
- 网络编程系列之十 自动生成makefile
- 百度地图定位无法获取location的经纬度
- 查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢
- wcf托管在IIS上,提示未能加载