shell脚本学习笔记之sed命令用法

sed基本用法

sed:stream editor

行编辑器

sed:模式空间 将匹配的文本内容储存到模式空间中

默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后,架构模式空间的内容显示

sed

-n

-i:直接修改原文件

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

-f file

sed -f /scripts  file

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

sed ‘adresscommand’ file。。。

-n:静默模式,不再默认显示模式空间中的内容,即只显示符合sed命令的内容

address

1.起始行,结束行

如1,100  表示1到100行

2./pattern/   正则表达式

3./pattern1/,/pattern2/

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

4.LineNunber

指定的行

5.startine,+n

从startline开始,向后的n行:

command:

d:表示删除符合条件的行

’1,2d‘   删除第一,二行

’/pattern/d‘  删除含有pattern的行

‘2,+2d‘    删除第二以及后面的两行

p:显示符合条件的行

‘/^\//p‘ 显示以/为行首的行

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

如  ‘/^\//a \# hello world‘  在以/行开头的行后面加#hello world

\n:可以用于换行

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

r file:将指定的文件内容添加至符合添加的行处

sed ‘2r /etc/issue‘ /etc/fstab 将文件issue 插入到fstab第二行后面

w file:将地址指定的范围内的行另存至指定的文件中

sed ‘/oot/w /tmp/oot.txt‘ /etc/fstab 将/etc/fstab中含有oot的行保存至文件oot.txt中

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

sed ‘s/oot/OOT/‘ /etc/fstab  将fstab 文件中的oot替换为OOT

s/^\//#/‘

加修饰符

g:全局替换

sed ‘s/oot\//#/g‘ /etc/fstab  将所有的/替换为#

i:忽略字符大小写

pattern/i,

s///:s###,[email protected]@@

sed ‘[email protected]/@#@g‘ /etc/fstab  用@将/替换为#

可以这样理解,首先将/[email protected],然后又将@=#,于是就等于将/=#

\(\),\1,\2

l..e

like--liker

love--lover

sed ‘s#l..e#&r#g‘ sed.txt

sed  ‘s#\(l..e\)#\1r#g‘ sed.txt

like--Like

love--Love

sed ‘s#l\(..e\)#L\1#g‘ sed.txt

& 匹配模式运用到的整个

history | sed ‘s#^[[:space]]##g‘

将数字前面的空格去为空

时间: 2024-10-05 23:47:38

shell脚本学习笔记之sed命令用法的相关文章

shell脚本学习笔记之grep命令用法

***grep基本用法 grep [选项] [模式] [文件..] 选项 -c 只输出匹配行的数量 -i 搜索时忽略大小写 -h 查询多文件时不显示文件名 -l 只搜索匹配的文件名,而不列出具体的匹配行 -n 列出所有的匹配行,并显示行号 -s 不显示不存在或无匹配文本的错误信息 -v 显示不包含匹配文本的所有行 -w 匹配整词 -x 匹配整行 -r 递归搜索,不仅所属当前工作目录,而且搜索子目录 -q 禁止储存任何结果,以推迟状态表示所属是否成功 -b 打印匹配行距文件的头部的偏移量,以字节为

shell脚本学习笔记 (sed的高级用法----模式空间和保持空间)

前段时间在学习shell脚本,上次有提到sed的模式空间和保持空间概念,但是一直没有研究好,这两天研究了一下,所以将它发出来,不是很全面,仅仅供大家参考一下. 保持空间sed在正常情况下,将处理的行读入模式空间,脚本中的"sed command(sed命令)"就一条接着一条进行处理,直到脚本执行完毕.然后该行被输出,模式被清空:接着,在重复执行刚才的动作,文件中的新的一行被读入,直到文件处理完毕. 模式空间可以比喻为一个生产线,而保持空间则可以被比喻为仓库,这个比喻希望可以帮助大家理解

shell脚本学习笔记系列--1

一.学好shell编程的知识储备 1.相关Linux系统命令应用: 2.Vi/vim 编辑器的熟练使用,相关客户端软件的设置: 3.基础的服务,系统服务ntp,crond,网络服务:nfs,rsync,inotify,sersync,ssh,lanmp等. 补充:清空日志的三种方法: 1)echo  " " > filename.log 2)>filename.log 3)cat  /dev/null > filename.log 注:工作中有的时候不能删除(日志)文

shell脚本学习笔记 (流编辑器sed)

sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用很普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出. sed不只支持正則表達式.它另一些比較厉害的功能. 我给出一个样例,大家看看有什么办法能够解决它吧. <html><head><title>Hello World</title> <body>Welcome to the world of regexp!&l

Shell 脚本学习笔记十:Shell输入输出重定向

command > file       将输出重定向到 file. command < file       将输入重定向到 file. command >> file     将输出以追加的方式重定向到 file. n > file              将文件描述符为 n 的文件重定向到 file. n >> file             将文件描述符为 n 的文件以追加的方式重定向到 file. n >& m             

20.1-4 shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量

20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法%w 星期几 %W今年的第几周cal是显示日历的时间戳可以相互查询 20.4 shell脚本中的变量 原文地址:http://blog.51cto.com/13450039/2104595

shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量

一.shell脚本介绍shell脚本要想写好,必须通过不断地去练习写才能写好,没有捷径要在我们拿到一个需求的时候有一个脚本的大致思路,想到需求怎么去实现shell脚本可以大大提高我们的工作效率二.shell脚本结构和执行[[email protected] ~]# mkdir shell //创建一个shell文件夹,存放实验的shell脚本[[email protected] ~]# cd shell/[[email protected] shell]# ls[[email protected

学习笔记之sed命令使用

一.概述 1.  sed 全称为Stream Editor,就是行编辑器,意味着一次只处理一行文本,sed将被匹配到            的行放到自己特定的空间(通常称为模式空间)中进行编辑:然后再根据结果进行输出显示: 2.  在sed中还有一段空间称为保持空间,sed模式空间中的内容可以与保持空间的内容可以进            行自由互换,实际工作中用处很少,仅作参考: Sed工作流程如图 二.sed命令使用 sed [OPTION]... 'script' [input-file].

shell脚本学习笔记:通过shell实现linux用户管理和监控

学习shell做的第一个脚本,感谢云知梦李强强老师的shell编程教程 创建shell脚本文件: touch menu.sh touch index.sh touch welcome.sh 赋予脚本文件可执行权限: chmod a+x menu.sh index.sh welcome.sh menu.sh #!/bin/bash #menu.sh function menu(){ title="My Home" name="Randy" time=`date +%Y