Linux sed使用

sed:Stream Editor(行编辑器)

sed: 模式空间

默认不编辑原文件,仅对模式空间中的数据做处理;而后,处理结束后,将模式空间打印至屏幕;

sed [options] ‘AddressCommand‘ file ...

-n: 静默模式,不再默认显示模式空间中的内容

-i: 直接修改原文件

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

-f /PATH/TO/SED_SCRIPT

sed -f /path/to/scripts  file

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

Address:

1、StartLine,EndLine

比如1,100

$:最后一行

2、/RegExp/

/^root/

3、/pattern1/,/pattern2/

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

4、LineNumber

指定的行

5、StartLine, +N

从startLine开始,向后的N行;

Command:

d: 删除符合条件的行;

p: 显示符合条件的行;

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

\n:可以用于换行

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

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

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

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

加修饰符

g: 全局替换

i: 忽略字符大小写

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

时间: 2024-10-08 05:30:40

Linux sed使用的相关文章

linux sed 批量替换多个文件中的字符串

转载:http://blog.csdn.net/kauu/article/details/1757325 一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep ww

理解linux sed命令

理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反

linux sed&awk详解

sed sed为文本处理三剑客之一.本身就是一个管道命令,可以将文件进行增加,修改,删除,选取等操作. 格式:sed [-nrefi] [command] "文本字符串" 选项: -r: 支持扩展正则表达式: -n: 静默模式:(sed有个模式空间和保持空间,默认sed会将执行的结果保存到模式空间里面,而模式空间默认情况是输出在屏幕上,加了-n,则阻止将模式空间的内容输出到屏幕上) -f:/path/to/script_file:从指定的文件中读取脚本并运行 -e script1 -e

linux sed 批量替换多个文件中的字符

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为admin99.net sed -i "s/www.admin99.net/admin99.net/g" `grep w

Linux sed命令小结

1.什么是sed sed,流编辑器,即stream editor.它可以将文本文件的每一行读取到内存,即所谓sed的模式空间,在这个模式空间中可以进行编辑并输出. 2.sed的使用格式 sed [options] "AdressCommand" file1,file2,... 说明: a.Adress实际上是用来确定编辑文件的范围,可以是精确的某一行,也可以是从某一行到某一行,也   可以用正则进行过滤匹配. b.Command表示将符合Address的行进行XXX操作.注意默认情况下

Linux sed 替换第一次出现的字符串

/********************************************************************************* * Linux sed 替换第一次出现的字符串 * 说明: * 需要替换配置文件中第一次出现的文本内容. * * 2016-12-16 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考

learn Linux sed command

learn Linux sed command 一.参考文档: 1. sed命令详解 http://qifuguang.me/2015/09/21/sed%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/ 2. linux之sed用法 http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html 3. Sed 的man手册参数详细解释(一) http://blog.csdn.net/imfinger/a

linux sed应用小技巧

linux sed删除空行和空格符命令 sed /^$/d filename 可以删除文件中的空行. sed /^[[:space:]]*$/d filename 可以删除内容为多个空格/tab组成的行. sed 's/\ //g' $1 可以删除行中的空格

linux sed命令中的正则表达式问号、加号、圆括号等需要转义

linux sed命令内的正则表达式语法分两种,一种叫Basic (BRE) Syntax,另一种叫Extended (ERE) Syntax.默认使用的是BRE. 这个BRE就是一个简化版,语法稍微有点不一样,问号.加号.圆括号.花括号和竖线没有特殊含义,就代表字符本身,如果要原本定义的实现特殊含义,需要用反斜杠(\)转义……详情请见: https://www.gnu.org/software/sed/manual/html_node/BRE-vs-ERE.html#BRE-vs-ERE

Linux Sed 使用示例

环境:CentOS 鉴于语句描述苍白无力,用例子直接说明. mytxt文件内容: zilzhang 19881110 jiangxi 18 film zhagnsan 21321    sichuan 100 card lisi     3435     hunan   65  TV 1. 找出文件第二行 $ sed -n '2p' mytxt zhagnsan 21321    sichuan 100 card 2. 找出文件第1行到第三行 $ sed -n '1,3p' mytxt zilz