sed (Stream  EDitor)是一个强大的字符流编辑器,输入一般是来自文件,默认情况下不编辑原文件,仅对模式空间中的数据作处理;而后,将模式空间打印到屏幕显示

sed基础用法

sed [options]'AddressCommond' file ...

[options]

-n:静默模式,不再默认显示模式空间的内容

-i:直接修改原文件

-f:指定需执行的脚本文件,一般在脚本文件里编辑匹配模式

-e:SCRIPT -e SCRIPT :可以同时执行多个脚本

-r:表示使用拓展正则表达式

Address

1. startline,endline

1,100

2./RegExp/

/^root/

3./pattern1/,/pattern2/

表示第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,中间的所有行。

4.LineNumber

表示指定的行

$:表示最后一行  $-1:表示倒数第二行

5.Startline, +N

从Startline开始,向后的N行,共N+1行

Command:

d: 删除指定的行

sed '1,2d' /mnt/passwd

sed '4,$-1d' /mnt/passwd

sed '/nologin/d' /mnt/passwd

sed '1,+3d' /mnt/passwd

p:显示符合条件的行

sed '/^\//p' /mnt/passwd

a:\"string":在指定的行后面追加新行,内容为“string”

sed '2a\hello linux' /mnt/passwd

c:\'string' :用新文本替换指定行文本

sed '1c\redhat' /mnt/passwd

i:\string :在指定的行前面添加新行,内容为"string"

sed '2i\hello linux' /mnt/passwd

r:FILE:将指定的文件添加至符合条件的行处

sed '1,2r /etc/group' /mnt/passwd

sed '$r /mnt/tuantuan.sh' /mnt/yy.sh >> /mnt/kiosk.sh (合并文件)

w:将指定范围内的内容另存至指定的文件中

sed '/nologin/w /mnt/123' /mnt/passwd

s:查找并替换,默认只替换每行中第一次被匹配到的字符串

s/pattern/string/修饰符

sed 's/nologin/NOLOGIN/' /mnt/passwd

sed 's/^\//#/' /mnt/kiosk.sh

sed -r 's/^[[:space:]]+//' /mnt/passwd  ##删除行首的空白符

sed 's/\(wer:\)[0-9]\(:gtrh\)/\17\2/g' /mnt/456 ##将wei:3:gtrh行中数字替换成7

sed 's/^#+//g' /mnt/yy.sh  ##删除/mnt/yy.sh文件中开头的#号

sed -r 's/^#[[:space:]]+//g' ##删除开头的#号及后面的空白字符

sed -r 's/^[[:space:]]+#+//g' ##删除以空白字符后跟#号的空白字符及#号

g:全局变量

i:忽略字符大小写

sed 's/b..h/&r/g' /mnt/passwd

sed 's/\(b..h\)/\1r/g' /mnt/passwd

sed 's/b\(..h\)/B\1/g' /mnt/passwd

s/// 格式也可用 s###、s@@@
代替

linux之sed基础命令详解的更多相关文章

  1. Linux上的free命令详解、swap机制

    Linux上的free命令详解   解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...

  2. Linux CAT与ECHO命令详解 <<EOF EOF

    Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...

  3. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

  4. Linux CAT与ECHO命令详解

    Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从 ...

  5. (转)Linux: dirname、basename命令详解

    Linux: dirname.basename命令详解 原文:http://blog.sina.com.cn/s/blog_3f63916f010143vo.html 一.dirname指令 1.功能 ...

  6. Linux服务管理 systemctl命令详解

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合     任务 旧指令 新指令 使某服务自动启动 ch ...

  7. centos、linux关机与重启命令详解

    Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 1 ...

  8. Linux下面的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  9. Linux 文本对比 diff 命令详解(整理)

    diff 命令详解 1.概述 windows系统下面就有不错的文本对比工具可以使用,例如常用的Beyond Compare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在win ...

随机推荐

  1. 一款可以安利的MarkDown编辑器

    Typeora一款可以安利的MarkDown编辑器 Typeora是什么? ​ 一款使用MarkDown的本地编辑器集结了MarkDown的所有特点并展现了简洁.高效的特点,关键是免费. 特点: 支持 ...

  2. CountDownLatch的简单使用

    from https://www.jianshu.com/p/cef6243cdfd9 1.CountDownLatch是什么? CountDownLatch是一个同步工具类,它允许一个或多个线程一直 ...

  3. codeforces 792C. Divide by Three

    题目链接:codeforces 792C. Divide by Three 今天队友翻了个大神的代码来问,我又想了遍这题,感觉很好,这代码除了有点长,思路还是清晰易懂,我就加点注释存一下...分类吧. ...

  4. github基本概念

    github: 托管项目代码. 仓库(repository):用来存放项目的代码,每个项目对应一个仓库,多个项目则有多个仓库. 收藏(star):收藏项目的人数.收藏别人的项目方便下次查看. 复制克隆 ...

  5. Core Animation Manages Your App’s Content

    Core Animation 是对现有图片的操作函数. https://developer.apple.com/library/content/documentation/Cocoa/Conceptu ...

  6. jQuery 实现改变图片指定区域的颜色

    javascript本身无法改变图片的颜色,不过我们可以通过一些技巧来实现一样的效果. 1.首先我们要知道图片哪些区域需要改变颜色,这里我们可以用执点地图的方法来弄 例1: <img src=& ...

  7. UVa 247 - Calling Circles(Floyd求有向图的传递闭包)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. BZOJ2333:[SCOI2011]棘手的操作(Splay)

    Description 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作: U x y: 加一条边,连接第x个节点和第y个节点 A1 x v: ...

  9. 「hihocoder1413 Rikka with String」

    题目 哈哈哈哈哈哈哈哈哈哈我还没自闭 好像前后调了两天了 哈哈哈哈哈哈哈哈哈哈我还没自闭 这道题就是给定一个小写字母串,回答分别把每个位置上的字符替换为\(#\)后的本质不同的子串数 首先就是跨过这个 ...

  10. TunSafe使用分享

    体验还是很棒的,关于使用中遇到的一些问题在此分享下 官网打不开? 这个真的很不解,科学以后遇到的, 后来在手机上同样的环境测试可以打开 最后居然使用ie浏览器解决了,看来是国产浏览器在作怪 ie终于打 ...