今天就跟大家聊聊有关Sed常用用法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
将文件中的root全部替换为abc:
sed 's/root/abc/g' passwd 只输出执行结果,不修改文件
sed -i 's/root/abc/g' passwd 直接修改文件
打印文件第2行:
sed -n 2p passwd
打印第2-5行
sed -n 2,5p passwd
在文件的第2行后插入一行
sed '2a 106,dandan,cso' passwd
在文件的第2行前插入一行
sed '2i 106,dandan,cso' passwd
删除文件中第2到第5行
sed '2,5d' passwd
实现取出匹配begin的行直到匹配到end字符的行结束
sed -n '/begin/,/end/p' 1.txt
打印匹配abc的行到最后一行的内容
sed -n '/abc/,$p' file.txt
截取6天前的日志
sed -n '/'"$(date -d "-6 day" +%b" "%d)"'/,$p' /home/oracle/test/alert_orcl11g.log | more
sed -n '/'"$(date -d "-6 day" +%b" "%d)"'/,$p' /home/oracle/test/alert_orcl11g.log > alert.log
截取两个字符串之间日志
n 匹配行的下一行
N 追加到下一行
p 打印
P 打印到\n
b 无条件跳转 未匹配后面不执行
t 有条件跳转 未匹配执行后面
:fun1
在匹配B时,b func1 类似goto 跳转到 前面A匹配中
N 判断后拼接不匹配
n 判断后过滤不匹配
# sed '/A/{p;:fun1 ; n ; :fun2 /B/{p;b fun1} ;n; b fun2} ’ file1 -n
查找特定的字符串
sed -n "/2010:13:30:00/,/2010:17:30:00/"p access_2010011605.log | awk -F: '/'.'php/{print $2}' |uniq -c
168576 13
301975 14
285616 15
299248 16
154377 17
sed -n "/2010:09:30:00/,/2010:13:30:00/"p action.new |awk '{if($3~/^action/){print $3} else if($4~/^action/){print $4}}' |sort |uniq -c |sort -nr
533271 action=plInfo
132742 action=FriendPet
101258 action=Info
awk ‘/字符串1/{a=1}a{b=b?b"\n"$0:$0;if(b~/字符串2/){print b;b=""}}’ file
sed -n ‘/字符串1/{p;:1;n;:2;/字符串2/{p;b1};N;b2}’ file
awk ‘/字符串1/{a=1}a{b=b?b"\n"$0:$0;if(b~/字符串2/){print b;b=""}}’ file
sed -n ‘/字符串1/{p;h;b};:m;x;/lzj/{x;N;/字符串2/!{bm;};p;b};x’ file
看完上述内容,你们对Sed常用用法有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。