shell脚本学习(3)sed替换
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替换的更多相关文章
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- Shell脚本学习之sed详解
在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- shell脚本学习之6小时搞定(1)
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- Linux 下Shell 脚本几种基本命令替换区别
Shell 脚本几种基本命令替换区别 前言:因为工作需要,需要编写 shell script .编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别.后面和 ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- shell脚本学习总结02--数组
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...
随机推荐
- p5414 [YNOI2019]排序
分析 这是真正的云南oi/px 我们需要考虑保留一段不降子序列 剩余的自由往前往后移动 所以dp一下即可 代码 #include<bits/stdc++.h> using namespac ...
- redis centos集群搭建和java应用
1. 首先要ssh免密登录 redis集群,3台虚拟机,6个节点,每台机器2个节点一主一从. 192.168.132.154 c0192.168.132.156 c1192.168.132.155 c ...
- mysql定时备份shell脚本
#!/bin/bash #每天早上4点, mysql备份数据 # backup.sh #crontab -e # * * * /home/erya/run/moniter/mysql_backup.s ...
- 【ABAP系列】SAP webservice HTTP框架出错 404错误
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP webservice H ...
- sql 为什么要用where 1=1?
之前一直不太明白,sql语句里为什么要写where 1=1 提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以. 这个1=1常用于应用程序根据用 ...
- 普通ACL访问控制列表
配置OSPF R1: R2: R3: R4: 在R1上查看OSPF的学习 测试R1与R4环回接口连通性 配置普通ACL访问控制列表: 先在R4配置密码用R1与R4建立telnet建立 密码huawei ...
- Pikachu漏洞练习平台实验——php反序列化、XXE、SSRF(九)
1.序列化和反序列化 1.1.概述 在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 序列化serialize()序列化说通俗点就是把一个对象变成 ...
- Object.entries
const reduce = Function.bind.call(Function.call, Array.prototype.reduce); const isEnumerable = Funct ...
- 深入理解DiscoveryClient
Spring Cloud Commons 提供的抽象 最早的时候服务发现注册都是通过DiscoveryClient来实现的,随着版本变迁把DiscoveryClient服务注册抽离出来变成了Servi ...
- ‘’‘安装PyMouse,个人日志'''
管理员启动CMD 1.直接pip install pymouse,成功安装, 2.安装PyHook: https://www.lfd.uci.edu/~gohlke/pythonlibs/ (向下滑动 ...