sed的用法
sed是一种流编辑器,它是一种文本处理中非常重要的工具,能够配合正则表达式使用。处理时,把当前的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成之后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,知道文件末尾,文件内容你没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件;减缓对文件的反复操作;编写转换程序等。
sed用法实例
替换操作:s命令:将文件中每一行的第一个字串qiang替换为yuan,但没有将替换的内容写到文件中去。缓冲区的文本已经替换。
-i : 代表将当前替换的字串写入到文本中
g : 表示文件中每一行的所有匹配字串替换
当需要从第N处匹配开始替换是,可以使用/Ng: ( N:代表从第几个匹配字串开始替换)
d:删除空白行
删除文件的第2行:
删除文件的第3行到末尾的所有行:
删除文件的最后一行:
删除文件中所有开头是test的行:
所有以test开头的行都会被替换为它自己加1234:
子串匹配标记 \1 :
命令中digit 7,被替换成了7.样式匹配到的子串是7,\(..\)用于匹配子串,对于匹配到的第1个子串就标记为\1,以此内推
批量的递归的替换字串,如下例:
将所有文件中含“yuan”的字串改为"qiang"
格式为:sed -i "s/OldString/NewString/g" `grep "string" . -n -rl`
删除文件中的空格
1 | sed -i 's/\ //g' filename |
删除文件中的换行符
1 2 3 | cat filename| tr -d [ '\n' ] > .tmp cp .tmp filename rm .tmp |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)