【Linux】 sed 命令

目录

基础详解

项目使用

查看指定时间段的日志


https://www.runoob.com/linux/linux-comm-sed.html

基础详解

语法格式

sed -[opt] [sed command] 文件名

参数说明[opt]

  • -e 直接在命令行模式上进行sed动作编辑,此为默认选项 该操作并不会直接改变文件内容 一般用于修改前的确认 (官方:<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件)。
  • -f 将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作 (<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件)。
  • -n 只打印模式匹配的行 (官方:或--quiet或--silent 仅显示script处理后的结果)
  • -r 支持扩展表达式
  • -i 支持直接修改文件内容。
  • -h或--help 显示帮助。
  • -V或--version 显示版本信息。

动作说明[sed command]

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

示例文本

语法展示

sed -e la\文本内容 test_sed

在第1行后面添加“文本内容这行字符到test_sed文件夹中,注意这里去掉-e也可以,并且并不会修改test_sed本身的内容

从下方的例子可以看出加 -e 和没有加都是相同的结果并且不会修改到文件本身的内容

sed "1,2d" test_sed

那要怎么才能通过sed行编辑器来操作指定的数据呢,那就要通过 -i 参数了 

sed -i  "1,2d" test_sed

可以看到进行操作过后并没有像之前一样打印,我们通过vi进入文件内部也发现1 2行数据已经被删除掉了

项目使用

查看指定时间段的日志

-n屏蔽默认输出 只打印匹配的行

sed -n '/19:00:00/,/20:00:00/p' catalina.out > test.txt       --- 根据实际日志,日期格式调整

sz test.txt      -- 下载输入的日志,在本地查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值