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

相关推荐

  • Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

    文件管理工具:cp,mv,rm cp:命令:copy:复制文件的数据    源文件;目标文件       单源复制 cp [OPTION]… [-T] SOURCE DEST   如果DEST不存在,则事先创建此文件,并复制原文件的数据流至DEST中:   如果DEST存在:        如果DEST是非目录文件:则覆盖目标文件        …

    Linux笔记 2018-05-20
  • sed

    用法: sed  [选项]… ‘script’ inputfile 其中script是脚本基于sed语法的脚本                 inputfile文件内容 常用选项 -n   :不输出模式空间内容到屏幕,即不自动打印 -e   :多点编辑 -f    :   /PATH/SCRIPT_FILE:从指定文件中…

    Linux笔记 2018-04-14
  • Linux 的不同的发行版区别和联系

    Linux 的不同的发行版区别和联系   Linux,最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public Lic…

    2018-08-04
  • linux基础之自动登陆和自动开启网卡设置

    Centos7.4设置自动登陆以及设置网卡开机自动启用功能 1、进入命令行模式,输入 nano /etc/gdm/custom.conf ,在[daemon]下添加2条命令,分别是 AutomaticLoginEnable=true AutomaticLogin=root 2、然后按住Ctrl+X退出并保存,接着选择Y,再按回车键即可保存更改,到这里设置自动…

    2018-03-29
  • VIM编辑器用法大全

    文本编辑工具 语法:vim 参数 文件 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi,vim – Vi Improved vim编辑器三大模式 编辑模式, 输入模式: 末行模式: 内置的命令行接口; 模式转换: 编辑模式 — > 输入模式 : i : 在光标所在处输入 a : 在光标所在处的后方输入 o : 在光…

    2018-04-08
  • 第四周

    总结

    Linux笔记 2018-04-22