sed 4个功能
[root@lanny test]# cat test.txt
test
liyao
lanny
经典博文:
http://oldboy.blog.51cto.com/2561410/949365
http://blog.csdn.net/hello_hwc/article/details/39528879
http://blog.csdn.net/hello_hwc/article/details/39528879
SSH优化:在某一行后追加内容
sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' sshd_config
在13行后追加这些内容
############################################
-n, --quiet, --silent ----suppress automatic printing of pattern space
-i [SUFFIX], --in-place[=SUFFIX]
-r 正则
p Print the current pattern space.
注:
pattern有鞋样子的意思. 正则表达式就是个鞋样子.
in place of 代替
in place 在对的位置; 适当的;
############################################
1,取行
[root@lanny test]# sed -n '3p' test.txt
jeffery
[root@lanny test]# sed -n '2,3p' test.txt
liyao
jeffery
2,过滤
[root@lanny test]# sed -n '/liyao/p' test.txt
liyao
删除第三行:
sed -n '/3/d' test.txt
3,拼凑
知识点:sed后向引用:(全屏蔽取出思想)
[root@lanny ~]# echo "oldboy oldgirl"|sed -r 's#(.*) (.*)#\1 \2#g'
oldboy oldgirl
注解:
()的作用: 's#(.*) (.*) 正则的书写,显然我们后面的()都不希望被转义
--r的作用:sed -r ,加入后面要匹配的空格符号不希望被转义,那么就加-r选项了.
sed -r 's#(.*)#chkconfig \1 off#g'
-r 不转义 后面的括号等为原来意义
(.*) 过滤出输出的内容 括起来 后面可以通过 \1取出来
[root@lanny test]# sed -r 's#(.*)#chkconfig \1 off#g' test.txt
chkconfig test off
chkconfig liyao off
chkconfig jeffery off
拼凑特例:=========================可能不好理解 grep ^ file.txt 发现什么也没匹配,
思想:什么都没屏蔽
但是这样报错呀:
[root@lanny l]# sed -r 's##a b #g' name.txt
sed: -e expression #1, char 0: no previous regular expression
======================================必须得加个东西了,那就加^吧.哈哈,也算是理解了.
[root@lanny l]# sed -r 's#^##g' name.txt
liyao
oldboy
test
[root@lanny l]# sed -r 's#^#a b #g' name.txt
a b liyao
a b oldboy
a b test
sed什么参数都不加,凭凑在最后了
思想:匹配到,替换掉.
情况一:用^匹配:
[root@lanny data]# sed 's#^#chkconfig on #g' name.txt
chkconfig on oldlanny
chkconfig on jack
chkconfig on jeffery
chkconfig on liming
情况二:用$匹配:chkconfig没加上,只匹配到最后一部分.
[root@lanny ~]# sed -r 's#$#chkconfig on #g' aa
maxiaolangchkconfig on
lannychkconfig on
lannyma.blog.51cto.comchkconfig on
awk也可以拼凑:
awk '{print $1}' 进阶:
awk '{print "chkconfig " $1 " on"}'
sed结合正则表达式过滤ip地址:
[root@lanny ~]# ifconfig eth0|sed -n '2p'
inet addr:192.168.14.134 Bcast:192.168.14.255 Mask:255.255.255.0
[root@lanny ~]#
[root@lanny ~]# ifconfig eth0|sed -n '2p'|sed -r 's#^.*addr:##g'
192.168.14.134 Bcast:192.168.14.255 Mask:255.255.255.0
[root@lanny ~]#
[root@lanny ~]# ifconfig eth0|sed -n '2p'|sed -r 's#^.*addr:##g'|sed -r 's# B.*$##g'
192.168.14.134
前2个##匹配到的过滤掉(删掉)输出.
sed -r 's#^.*addr:##g'
4,替换
[root@lanny test]# sed -i 's#lanny#jeffery#g' test.txt
[root@lanny test]# cat test.txt
test
liyao
jeffery
sed 4个功能的更多相关文章
- sed 常用的功能
1.每行后面加入一个空行 sed 'G' num.txt,保留空间(Hold Space)的内容默认值是一个空行.2.每行前面加入一个空行 sed '{x;p;x}' num.txt,交换模式空间和保 ...
- [sh]sed 4个功能
[root@lanny test]# cat test.txt test liyao lanny 经典博文: http://oldboy.blog.51cto.com/2561410/949365 h ...
- awk sed 总结
Awk总结笔记 介绍 90年代 new awk :nawk Linux 的是gawk 我们简化awk 用法 # awk [options ] ‘scripts’ file1 file2 .... # ...
- [转]sed命令详解
转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...
- sed 详解
sed 详解 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕 ...
- 三大文本处理工具grep、sed及awk的简单介绍
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...
- 【转载】sed命令详解
[转载自]http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html sed -i 把后面的操作后的文本输出回原文本 ...
- sed命令详解--转
1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...
- Linux之sed详解
转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...
随机推荐
- 浅析LruCache原理
Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放. LruCache使用一个LinkedHas ...
- 错误:StrictMode $ AndroidBlockGuardPolicy.onNetwork
you have to insert 2 lines "StrictMode" on MainActivity Class, example's below: 在onCreate( ...
- NSURLSession/NSURLConnection的上传文件方法(已做了更新)
最好的学习方法就是 领悟 + 证悟. 此篇文章的理论基础主要是与HTTP网络通信协议相关.为集中精力,可以先把TCP/IP协议这些置之不理,也就是先只关注HTTP的请求和响应的结构.HTTP完整的原理 ...
- Windows下Node.js+Express+WebSocket 安装配置
Linux参考: Linux安装Node.js 使用Express搭建Web服务器 Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V ...
- TreeSize工具介绍
TreeSize Professional 工具是一个功能强大且灵活方便的硬盘空间管理工具,能在 Windows 8/7/Vista/XP 或 Windows Server 2012年/2008年/2 ...
- 【JavaScript】JQuery中$.fn、$.extend、$.fn.extend
Web开发肯定要使用第三方插件,对于一个炫丽的效果都忍不住想看看对方是如何实现的,刚下载了一个仿京东商品鼠标经过时局部放大的插件.看了两眼JQuery源码,看看就感觉一头雾水.JQuery本来自己学的 ...
- Swing应用开发实战系列之二:设计日期选择面板窗口
Swing本身没有提供什么华丽丽的日期时间选择控件,所以笔者就在网上搜了个第三方的jar包jdatepicker-1.3.2.jar,基于此设计了个很轻量的日期选择面板,很简单的.效果图如下所示: 代 ...
- loadrunner常用函数
1.关联函数:web_reg_save_param("session", "LB=value=", "RB=>", LAST);
- 烂泥:U盘安装Centos6.5
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 使用U盘安装Centos6.5,需要以下几个步骤: 1. 制作U盘linux系统 2. 设置服务器BIOS 3. 安装Centos,注意引导分区的安装 ...
- mac下 ssh免密码登陆设置
由于mac os 是基于unix的操作系统终端和linux非常类似,所以不用借助类似于windows下的putty 和CRT工具即可远程登陆linux服务器,只需简单地3步即可免密码ssh远程. 1 ...