sed 的基础应用与掌握

赶紧试试吧看是看不会的

sed:可以将数据进行替换,删除,新增,选取特定行等,(过滤和取行)
-n 安静模式即,加上-n后,只有经过特殊处理的这行被输出到屏幕上
– i 直接修改文件内容而不是只是输出到终端。
-f直接将sed的动作写在一个文件内,
-r支持扩展正则表达式输出
sed 常用内置命令字符
a append(表示在指定行后添加文一或多行)
d delete (删除指定行)
i insert (指定行前插入一行或多行)
p print (表示匹配打印行的内容)
c copy ()
sed 命令太强大,光看看不会的。直接来练习:
1.如在fsed文件中?
[root@centos7 old]#sed ‘2a yesyesyes’ fsed (表示在第二行后增加yesyesyes行)
alfjsajfla
slfjskl
yesyesyes
urwer09we
2.那如果是增加3行呢?
[root@centos7 old]#sed ‘2a ddd\nbbb\ndddn’ fsed
alfjsajfla
slfjskl
ddd
bbb
dddn (切记:\n换行符)
同理d,i,p,c的用法和a 一样
3.如删除文件2到最后一行?
[root@centos7 old]#sed ‘3,$d’ fsed
alfjsajfla
slfjskl ($就是表示最后一行)
4.把所有a替换成W?
[root@centos7 old]#sed ‘s#a#W#g’ fsed
WlfjsWjflW
slfjskl
urwer09we
也可以把第三行替换成BBBB?
[root@centos7 old]#sed ‘3c BBBB’ fsed
alfjsajfla
slfjskl
BBBB
473298473
5.
[root@centos7 old]#echo>fsed (清空文件内容)
[root@centos7 old]#sed -i ‘aaa\nddd\nccc\nuuu\nmmm\n6666\n888\n999’ fsed|nl (nl是加上行号)
 
1 aa
2 ddd
3 ccc
4 uuu
5 mmm
6 6666
7 888
8 999
好,现在我想让奇数行和偶数行全部合并?
[root@centos7 old]#sed ‘N;s#\n##g’ fsed (N,sed强大的内置命令, 碰到N,会执行”$###g”循环执行把换行符换成空直到文件结束)
aa
dddccc
uuummm
6666888
999
6.-n的应用,仅列出文件中的第2到4行?
[root@centos7 old]#sed -n ‘2,4p’ fsed
aa
ddd
ccc
如果再加上-i, 那相当于直接把2到4行外的所有行删除了?即只留下2到4行
[root@centos7 old]#sed -i -n ‘2,4p’ fsed
[root@centos7 old]#cat fsed
aa
aa
ddd

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96573

(0)
单爆手单爆手
上一篇 2018-04-19 20:08
下一篇 2018-04-20 10:53

相关推荐

  • 重启网卡失败的解决方法

    重启网卡 报Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details. 的错误

    2018-04-18
  • linux文件管理常用命令

    日常管理linux文件

    Linux笔记 2018-03-31
  • grep命令 | 正则表达式

    date -s “2018-4-7”

    2018-04-07
  • DNS服务

    DNS服务 为什么要使用DNS? 为了把FQDN解析成IP地址。 FQDN    全称域名 www.magedu.com         全称域名由主机名和域名组成 www     主机名(hostname),或者别名 magedu.com      域名(domain)   /etc/hosts       分散式的解决方案 NIS       …

    Linux笔记 2018-06-03
  • Linux文本查看及处理工具

    Linux中,日志和配置都使用文本来存储和修改,对文本的查看及处理是最基本也是最常用的操作之一。而文本处理工具中,有被称为Linux文本处理三剑客的grep、sed和awk,但不要激动,Linux文本三剑客另起文章来讲,本文先从一些经常用到的,功能简洁但非常实用的工具说起。 wc命令 cut命令 sort命令 uniq命令 diff命令 patch命令 tr…

    2018-05-06
  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

    bash的基础特性: 1.命令补全: shell程序在接收到用户执行命令的请求时,分析完成之后,最左侧的字符串会被当作命令; 命令查找机制: 根据PATH环境变量中设定的目录,自左向右逐个搜多目录下的文件名 给定的打头字符串,如果能唯一标识某命令程序文件,则直接补全,                      如果不能唯一标识某命令程序文件,再tab一次会给…

    Linux笔记 2018-05-20