Chinaunix首页 | 论坛 | 博客
  • 博客访问: 498794
  • 博文数量: 223
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2145
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-01 10:23
个人简介

该坚持的时候坚持,该妥协的时候妥协,该放弃的时候放弃

文章分类

全部博文(223)

文章存档

2017年(56)

2016年(118)

2015年(3)

2014年(46)

我的朋友

分类: LINUX

2016-12-26 21:48:01

一、 更多的替换选项
①替换标记
  1. root@localhost sed]# cat data4.txt
  2. This is a test of the test script.
  3. This is the second test of the test script.
  4. [root@localhost sed]# sed 's/test/trial/' data4.txt
  5. This is a trial of the test script.
  6. This is the second trial of the test script.

替换格式:   s/pattern/replacement/flags
4种可用的替换标记:
数字:表明新闻本将替换第几处模式匹配的地方;
g,表明新文本将会替换所有匹配的文本;
p,表明原先行的内容要打印出来;
w file,将替换的结果写到文件中。

可以指定sed编辑器用新文本替换第几处模式匹配的地方。
  1. [root@localhost sed]# sed 's/test/trial/2' data4.txt
  2. This is a test of the trial script.
  3. This is the second test of the trial script.
后面第二个test被替换掉了。

用g替换标记,能替换全部
  1. [root@localhost sed]# sed 's/test/trial/g' data4.txt
  2. This is a trial of the trial script.
  3. This is the second trial of the trial script.

p替换标记会只打印修改过的行,和-n选项(禁止输出)一起使用。
  1. [root@localhost sed]# cat data5.txt
  2. This is a test line.
  3. This is a different line.
  4. [root@localhost sed]# sed -n 's/test/trial/p' data5.txt
  5. This is a trial line.

②替换字符
替换(/),可以用其他字符替换字符串分隔符
  1. [root@localhost sed]# sed -n 's!/bin/bash!/bin/csh!p' /etc/passwd
  2. root:x:0:0:root:/root:/bin/csh
  3. tq2440:x:500:500:tq2440:/home/tq2440:/bin/csh
  4. win:x:501:501::/home/win:/bin/csh

二、使用地址
sed有两种形式的行寻址:
①以数字形式表示行区间
②用文本模式来过滤出行
[address] command

1.数字方式的行寻址
  1. [root@localhost sed]# sed '2s/dog/cat/' data1.txt
  2. The quick brown fox jumps over the lazy dog.
  3. The quick brown fox jumps over the lazy cat.
  4. The quick brown fox jumps over the lazy dog.






阅读(652) | 评论(0) | 转发(0) |
0

上一篇:初识sed和gwak

下一篇:nucleus plus代码学习

给主人留下些什么吧!~~