C++学习(三六二)sed grep awk

本文介绍了Linux中的三个强大文本处理工具:sed、grep和awk。sed是一种非交互式编辑器,擅长文本替换,grep用于搜索带有特定模式的文本,awk则是一种处理文本文件的语言,通过模式匹配执行相应的动作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、sed

sed 是一种新型的,非交互式的编辑器。它能执行与编辑器 vi 和 ex 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。sed 编辑器没有破坏性,它不会修改文件,除非使用 shell 重定向来保存输出结果。默认情况下,所有的输出行都被打印到屏幕上。
sed能实现grep匹配功能,不过没有颜色提示,不如grep简单好用。sed更强大的是替换功能。sed命令行格式为:

sed [选项] ‘command’ 输入文本,示例sed 'p' test.txt,

这个命令会打印(print)test.txt的内容。由于sed是流处理文本的每一行,默认会输出每一行,所以该条命令会每行显示两边。

常用选项有:

    -n 只显示匹配行,在一般情况所有的 STDIN 都会输出到屏幕上,加入-n 后只打印被 sed 特殊处理的行
    -r 扩展正则表达功能,没有该选项时正则表达式一些元字符要用反斜杠脱义
    -e 多个动作,一个sed命令里可以有多个筛选条件,每个条件前需要加-e。筛选不是选交集,而是符合任一条件即输出
    -i 直接修改文档读取的内容,不在屏幕上输出

command要用单引号引起来。常用命令有:

    d 删除行
    p 打印行
    l 列出非打印字符
    s 用一个字符串替换另一个
    I 不区分大小写

例子:

sed -n '5p' test.txt #打印第五行
sed -n '1,5p' test.txt #打印第一行到第五行
sed -n '1,$p' test.txt #打印第一行到最后一行
sed -n '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值