sed命令基础用法

    sed(Stream EDitor)简介

sed是一个流编辑器编辑器,本身是一个管道命令,主要以行为单位处理文本文件,可以将数据进行替换、删除、新增、选取等特定工作;sed并不会处理文本文件本身,而是每当处理一个文件时,按顺序逐行读取到模式空间(内存)中,而后在模式空间中完成编辑,把编辑的结果输出到屏幕上,接着处理下一行,反复操作,直到文件结尾。

模式空间:将读取的内容放在内存中的一块区域编辑,这些内存空间就称为模式空间

格式:

sed [options]    ‘Address Command‘    FILE...

常用选项:

-i:直接修改源文件(慎用)

-r:使用扩展正则表达式,默认是基本正则表达式

-n:静默显示,默认sed会将STDIN的数据列出到屏幕上,使用-n后,则只有经过处理的行才会被显示出来

-e:同时执行多条命令;-e ‘command‘ -e ‘command‘

-f:指定一个sed脚本文件;-f FILENAME

地址定界:

1、Startline,Endline:要处理的起始行到结束行

$:表示最后一行

2、/REGEX/:使用正则表达式匹配

3、/pattern1/,/pattern2/:第一次被pattern匹配到的行至第二次被pattern匹配到的行

4、Line Number:指定的行

5、Startline +#:从Startline开始,向后的#行

常用命令:

d:删除符合条件的行

p:显示符合条件的行

a:在指定的行后面追加新行

a \String:String为新行的内容

\n:可以换行

i:在指定的行前面追加新行;i \String

r:将指定文件的内容添加到符合行的后面;r FILENAME

w:将指定地址范围内的行另存为指定的文件中;w FILENAME

s:查找并替换,默认之替换每行中第一次被匹配到的字符串

s/pattern/string/(///可以使用其他符号代替,###、@@@...)

g:代表全局替换;s/prttern/string/g

i:不区分大小写

&:可以使用后向引用,引用模式匹配到的整个字符串

sed命令基础用法,布布扣,bubuko.com

时间: 2024-08-01 20:49:22

sed命令基础用法的相关文章

sed命令的用法

sed命令的用法 -n:选项不打印文件的所有行 [[email protected] ~]# sed '1'p 1                  //不带-n选项,sed会把所匹配的行打印出来,  root:x:0:0:root:/root:/bin/bash             //所要求的行  root:x:0:0:root:/root:/bin/bash              // 并且打印整个文本文件  bin:x:1:1:bin:/bin:/sbin/nologin syn

正则表达式和sed命令的用法

一.            正则表达式:   正则表达式(或称Regular Expression,简称RE)就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式. 该模式描述在查找文字主体时待匹配的一个或多个字符串. 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表示式通过一些特殊符号的辅助,可以让使用者轻易的达到搜寻/删除/取代某特定字符串的处理程序.vim.gre

sed命令基础及高级用法

sed工具:sed是文本流编辑器,逐行对文件的内容进行处理 用法:sed [option] ... 'script' inputfile... 选项: -n:静默模式,不输出模式空间的内容至屏幕 -e:实现多点的功能编辑 -f /path/from/script_file:从指定的文件读取编辑脚本 -r:支持使用扩展的正则表达式 地址界面方法: (1)不给地址:对全文进行处理 (2)一个地址(单地址) #:指定的行 /pattern/:被引用处模式所能够匹配到的每一行: (3)地址范围 #,#:

linux下shell脚本中sed命令的用法

先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> test.sql #将test.sql文件中的每一行最后的符号“,”删除 sed -i 's/,$//g' test.sql #在test.sql文件中每行的开头添加左括号“(” sed -i 's/^/(&/g' test.sql #在test.sql文件中每一行的末尾添右括号“)” sed -i 's

Linux之sed命令常见用法

1. sed(stream editor),流编辑器 linux中,主要中sed命令实现对文件的增删改替换查 名称 sed - 用于过滤和转换文本的流编辑器 SYNOPSIS sed [选项]... {script-only-if-no-other-script} [文件]... 常用选项或命令 -i 正式执行操作修改内容 -n 取消默认输出 -e 允许多项编辑 -r 使用扩展正则表达式 = 在文件内容行前增加一行行号 s 查找并替换 g 全局范围 p 打印输出 '/ /p' 正则表达式匹配/

linux sed 命令的用法

原文  http://blog.chinaunix.net/uid-24426415-id-77244.html ------------------------------------------------------------------------------- 初级入门 sed工具是一种非交互式的流编辑器.默认情况下只会影响输出,不会改变输入.sed处理文档时是以行为单位的.功能有:删除.查找替换.添加.插入.从其他文件读取. 其实这些功能看起来都可以用vim等编辑器来实现.那么,为

Sed 的基础用法

sed [ -nefr] [n1,n2] action -n: 是安静模式,只有经过sed处理的行才会显示,其他不现实 -e:表示直接在命令行上执行.是默认选项不用填写. -f: 将Sed的操作写在一个文件里面,用的时候-f filename 就可以按照内容进行Sed操作 -r :表示支持正则表达式 n1,n2 代表的是行数 Sed的action (动作)支持如下参数 a: 表示添加,后接字符串,添加到当前行的下一行 c:表示替换,后接的字符串,用它来替换N1到N2之间的行 d:删除行 i:表示

sed命令常见用法

sed -n 'num1p' file 选出num1行sed -n 'num1,num2p' file 选出num1~num2行sed -n 'num1,$p' file 选出num1行到文件末尾grep -n '.*' file |sed 'num1p' -n 带行号的显示sed  '/root/p' -n pp.txt 查找带root的行 / /之间和grep 一样 有些正则 需加 -r 参数 类似 grep的 -E-e 多个表达式 或的关系sed -e '/pattern1/p' -e '

sed命令用法

注意:Linux三大文本查找工具:grep.sed.awk. sed命令基本用法: Stream EDitor:行编辑器:实现逐行处理文本:而全屏编辑器是vim. 工作特性: 并不处理文本文件本身,而是处理文件内容时,是逐行的把文本加载至内存空间中,在内存中完成处理,然后再输出到屏幕上,对sed而言,内存空间叫模式空间,可对文本行进行模式匹配后再做处理,sed有许多编辑命令. sed命令默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后,将模式空间的内容显示至屏幕. sed命令格式