1 sed 替换  

1格式:

  's/原字符串/新字符串/'   输入源    

2正确参考:

sed ’s/as/AS/' do.txt 

改变字符串as为AS,不会改输入源的文件。

  匹配每行第一次匹配的位置。

 sed ’s/as/AS/' do.txt

指定匹配每行第二个被匹配的数据, 用/n来指定匹配第几个

 sed ’s/as/AS/' do.txt

每行的第二个as变成了AS

配合g命令,全部匹配, 设置文件中所有匹配的位置,修改完全部的as都被替换成AS了

3 错误参考:

注意尾部有/  , 试了一个上午一直没成功, 原来是少了/

yuyuyu@ubuntu:~$sed ’s/as/AS' do.txt
sed: -e expression #1, char 10: unterminated `s' command

5 界定符, 一般是用/  ,但也可以用 ; : , 分号,冒号, 逗号等

比如像把留着当目录, 符号用, 可以在‘s;;;’   s/改成s;

sed 's;0x50;0x60;' do.txt

6 配合区域保存, \(\)

输入一个目录, 然后用区域存储,以及引用 \1 修改这个目录的子目录

yuyuyu@ubuntu:~$

echo /home/yuyuyu/ | sed 's;\(/home\)/yuyuyu/;\1/zhangzhang/;'

7 sed -e命令, 执行多次匹配。

yuyuyu@ubuntu:~$ sed 's/as/AS/2' do.txt

8 sed -f命令, 把编辑命令放到文本里读出来执行,批量处理sed的编辑命令

创建一个test_sed文本

yuyuyu@ubuntu:~$ cat test_sed
s/as/AS/
s/df/DF/

使用读取sed脚本命令:

yuyuyu@ubuntu:~$ sed -f test_sed do.txt 

脚本想要替换as  和df , 结果显示都替换成功了。

9 sed -n命令,关闭修改结果, 只打印 带p的行

测试了下, -n命令, 结果什么都没输出到result.txt

 sed -n 's/as/AS/2' <do.txt > result.txt

如果在 尾部加入p就能够打印被修改的行了

yuyuyu@ubuntu:~$ sed -n 's/as/AS/2p' <do.txt > result.txt

10 sed 的指定行的用法

sed 只对含有特定行的位置操作

sed '/fd/ s/as/AS/' <do.txt

sed 只对不含有特定行的位置操作

sed '/fd/ !s/as/AS/' <do.txt

shell脚本学习(3)sed替换的更多相关文章

  1. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  2. Shell脚本学习之sed详解

    在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...

  3. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  4. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  5. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  6. shell脚本学习之6小时搞定(1)

    shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...

  7. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  8. Linux 下Shell 脚本几种基本命令替换区别

    Shell 脚本几种基本命令替换区别 前言:因为工作需要,需要编写 shell script .编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别.后面和 ...

  9. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  10. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

随机推荐

  1. 页面跳转(包括vue路由)

    1.JS实现页面跳转 1.1 使用window.location的href属性跳转 window.location.href = 'http://www.baidu.com';此处window可以省略 ...

  2. tp框架 MVC模式

    一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...

  3. apt-get updete以及apt-get upgrade的区别

    You should first run update, then upgrade. Neither of them automatically runs the other. apt-get upd ...

  4. vue里面如何让v-for循环出来的列表里面的列表click事件只对当前列表有效

    <li @click="show"> <span>1</span> </li> <li @click="show&q ...

  5. 在没有iis的情况下,webApi自托管(转自momo314)

    第一步 新建一个控制台应用程序 并添加WebApi相关引用,注意,添加之后会默认帮你添加 System.Web.Http.WebHost 的引用,不过,折并没有什么鸟用,干掉他,然后手动添加引用 Sy ...

  6. #python# error:urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed>

    设置代理后访问网页报错,百度有人说地址拼写不对,确认拼写后依然报错 因为使用的是xici免费代理,想到可能代理不可用造成getaddrinfo failed, 更换其他代理,error消失

  7. Python之文件路径名的操作

    使用 os.path 模块中的函数来操作路径名 import os # 获取当前文件路径 path=os.path.abspath(__file__) # 获取绝对路径 /home/zzy/Pycha ...

  8. Solr的学习使用之(一)部署

    Solr的主要功能是全文检索,该功能分为两个过程:创建索引和对索引进行搜索 一.心得体会 第一次写技术博客,这次写的基本上都是从网络上整理的来的,外加自己的一些实践,以后争取全部原创哈,都说写技术博客 ...

  9. Oracle连接远程数据库

    我用的事navicat连接工具 方法一: 找到  工具---->环境,OCI环境 选择中间那个(我的是这个,我不确定是不是都一样,可以都试试),选好之后关闭navicat,重新运行navicat ...

  10. photoshop中调整图层的颜色深浅明暗

    图像-调整-可选颜色, 选中某一个颜色如绿色,可以将绿色调的深一点或浅一点