访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

常见linux命令介绍-sed

时间:2019-08-10

常用linux命令_常用dos命令大全_linux常用命令

标记说明

表示行内全面替换。

表示打印行。

表示把行写入一个文件。

表示互换模板块中的文本和缓冲区中的文本。

表示把一个字符翻译为另外的字符(但是不用于正则表达式)

子串匹配标记

&

已匹配字符串标记

符号说明

匹配行开始,如:/^sed/匹配所有以sed开头的行。

linux常用命令_常用linux命令_常用dos命令大全

匹配行结束,如:/sed$/匹配所有以sed结尾的行。

匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。

匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。

匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。

匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头linux常用命令,紧跟ed的行。

& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。():分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

&

保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。

\<

匹配单词的开始,如:/\&ltlove/匹配包含以love开头的单词的行。

\>

linux常用命令_常用dos命令大全_常用linux命令

匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。

x\{m\}

重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。

x\{m,\}

重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。

x\{m,n\}

重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。


sed ‘2p’ filename #打印第二行(第二行会打印两遍),并且会打印文本全部内容

sed -n ‘2p’ filename #只打印第二行

sed -n '3.5p' filename #打印3到5行

常用linux命令_linux常用命令_常用dos命令大全

sed -n '/findstr/p' filename #打印匹配到findstr的行

sed -n '/findstr1/,findstr2/p' #打印匹配分的findstr1和findstr2的行

sed -n '3,5{=;p}' filaname #打印3到5行,并且打印行号

sed -n '3.5!(=;p)' filename #打印除了3到5行的其他行 !表示对条件取反,其他情况也适用。

sed -n '/pattern/p' filename #打印符合正则表达式pattern的行,正则表达式不在此介绍



sed -e '1d' filename #删除第一行linux常用命令,但是不修改原文件。实际上把查找中的p换成d,即由打印变成删除动作。而-e 选项更换为-i选项,表明直接修改原文件



# -i表明直接修改源文件,注意。

常用linux命令_linux常用命令_常用dos命令大全

sed -i '/str1/s/^/str2/' filename #在有str1的行首增加str2字符

sed -i 's/str1/str2&/' filename #在str1前增加str2字符串

sed -i 's/str1/&str2/' filename #在str1后增加str2字符串

sed -i '/str1/s/$/str2/' filename #在有str1的行尾加上str2字符串

sed -i '/str1/i\str2/' filename #在有str1的前一行增加一行,内容为str2

sed -i '/str1/a\str2/' filename #在有str1的后一行增加一行,内容为str2,如果要添加多行,需要添加\n转义符,例如 '/str1/astr2\nstr3'

sed -i 's/^/str/' filename #每行开头添加str字符串

sed -i 's/$/str/' filename #每行结尾添加str字符串

sed -i '1,3s/^/str/' filename #1到3行行首添加str字符串

sed -i '/str1/s@/str2@str3@' filename #将有str1的行中的str2替换为str3,但是只修改一次

sed -i '/str1/s@/str2@str3@/ng' filename #与上一条作用类似,但是是修改n次,如果不带n,则表示修改全文

sed是一个非常有用且重要的文本处理工具之一,以上就是sed命令的一些常见操作介绍。