参数说明:

-e 以指定的script来处理输入的文本文件

-f 以指定的script文件来处理输入的文本文件

-h 显示帮助

-n 仅显示script处理后的结果

-V 显示版本信息

-v 反选

动作说明:

a 新增,后面跟字符串,插入在指定行的下一行

c 取代,后面跟字符串,可以取代n1,n2之间的行

d 删除

i 插入,后面跟字符串,插入在指定行的上一行

p 打印

s 取代

1.添加行

  sed -e 4a\newline text.file

  sed '3a hello wold' text.txt

  sed ''

1.打印某行 sed -n 'n'p filename

2.打印多行 sed -n '1,$'p filename

3.打印包含某个字符串的行 sed -n '/root/'p text.txt

  特殊字符^ $ . *也能在sed中使用

  sed -n '/^i/'p text.txt 打印以i开头的行

  sed -n '/in$/'p text.txt 打印以in结尾的行

  sed -n '/r..o/'p text.txt 打印包含r..o的行。中间2个为任意字符

  sed -n '/ooo*/'p text.txt 打印oo ooo...的行。最少匹配oo

4.实现多个行为 -e

  sed -e '1'p -e '/111/'p -n text.txt

5.删除某行或这多行 d删除

  sed '1'd text.txt

  sed '1,3'd text.txt

  sed '2,$'d text.txt

  sed '/oot/' text.txt

6.替换字符串或字符

  s替换   g 全局替换,不加只替换每行的第一个

  除了/,还可以使用其他的特殊字符如# @

  sed '2,4s/ot/to/g' text.txt 将第2行到第4行的ot替换为to

  sed 's#ot#to#g' text.txt

  sed 's/[0-9]//g' text.txt 删除所有的数字

  sed 's/[a-zA-Z]//g' text.txt 删除所有的字母

  sed 's/[0-9a-zA-Z]//g' text.txt 删除所有的数字和字母

7.调换2个字符的位置

  head -n 10 text.txt|sed 's/\(root\)\(.*\)\(rcu_gp_kth\)/\3\2\1/'

  替换前

8.增加字符串

  sed 's/^.*$/123&/' text.txt|head -n 10 在每一行的前面加上123

  sed 's/^.*$/&123/' text2.txt

9.直接替换

sed -i 's/:/#/g' text.txt

mac下直接替换一直报错,解决方法:

1. sed -ig 's/456/hello/g' text2.txt

2. sed -i ''  's/hello/456/g' text2.txt

3. 保存到一个文件

sed 's/456/hello/g' text2.txt > text3.txt

参考:http://blog.sina.com.cn/s/blog_5fde60890101ic7r.html


sed简单用法的更多相关文章

  1. sed 简单用法

    sed的一个简单用法: eg:在某一个文件中的一个aaa字段前后添加某些字段. 在aaa前面添加字段:sed -ne 's/aaa/&HELLO/p' test 输出结果:aaaHELLO 在 ...

  2. 正则表达式,sed简单用法

      一. 正则表达式 1. 常见的正则表达式字符 [] 匹配字符集 grep "bl[lo]g" oldboy.txt 表示字符‘l’或者‘o’都可匹配 * 重复前面字符任意次 g ...

  3. sed命令用法详解

    sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...

  4. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  5. Shellz中awk的简单用法

    其实shell脚本的功能常常被低估.在实际应用中awk sed 等用法可以为shell提供更为强大的功能.下面我们将一下awk调用的简单方法进行了总结.方便同学们学习: awk的简单用法: 第一种调用 ...

  6. Shell基础(五):sed基本用法、使用sed修改系统配置、sed多行文本处理、sed综合脚本应用

    一.sed基本用法 目标: 本案例要求熟悉sed命令的p.d.s等常见操作,并结合正则表达式,完成以下任务: 1> 删除文件中每行的第二个.最后一个字符    2> 将文件中每行的第一个. ...

  7. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  8. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  9. linux中sed的用法【转】

    sed命令行格式为:         sed [-nefri]  ‘command’  输入文本/文件 常用选项:        -n∶取消默认的输出,使用安静(silent)模式.在一般 sed 的 ...

随机推荐

  1. html头标签meta实现refresh重定向

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  2. HihoCoder - 1867: GCD (莫比乌斯容斥)

    Sample Input 6 1 6 2 5 3 4 Sample Output 10 You are given a {1, 2, ..., n}-permutation a[1], a[2], . ...

  3. HDU 5178:pairs(二分,lower_bound和upper_bound)

    pairs Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  4. ElasticSearch(九):springboot项目集成消息中间件activeMQ

    目的:为了将elasticsearch做成单独的服务,那么我们必须解耦,也就是业务逻辑和搜索模块是没有关系的,并且是异步的.那么项目之间通信,使用的选择有限,消息中间件是一个不错的选择. 消息中间件常 ...

  5. css样式 float的理解

    float w3cSchool里解释说, 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样 ...

  6. [Boolan-C++学习笔记]第二周整理

    1.对于String类型的类(含有指针) 其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎. 要点在于写好BigThree 构造函数 { 完成成员初始化 ...

  7. HDU6387 AraBellaC

    题意 AraBellaC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  8. JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器

    文章来源:http://www.cnblogs.com/xdp-gacl/p/3729033.html 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思 静态web资源(如html ...

  9. ZH奶酪:Python 中缀表达式转换后缀表达式

    实现一个可以处理加减乘数运算的中缀表达式转换后缀表达式的程序: 一个输入中缀表达式inOrder 一个输出池pool 一个缓存栈stack 从前至后逐字读取inOrder 首先看一下不包含括号的: ( ...

  10. 对象的继承(__proto__和Object.setPrototypeOf(child,father))

    两个对象间的继承