sed工具使用3
sed的&选型:替换固定字符串
这是对替换的一个优化,在替换时有时还要保留旧的同时在加上一些新的,这时旧的就可以用&来代替不用在重新写一遍,但是&是整体的,如果对旧的一小部分替换则&不适合使用了
例子:在passwd文件中在第一部分也就是用户名加上一些空格符
sed 's/[a-z_-]\+/& /' passwd
例子:大小写转换
元字符\u\l是对首字母的转换,\U\L是对一串字符串的转换,其中u是小写转大写l是大写转小写
sed '/s[a-z_-]\+/\u&/ passwd
例子:将文件夹下的.txt文件吗转换为大写
ls *.txt| sed 's/^\w\+/\U&/'
\( \)是替换某种(部分)的字符串(\1,\2)
例子:数据筛选
例子获取ip跟前面获取方法不同;
android@android-Latitude-E4300:~$ ifconfig wlan0|sed -n '2p'|sed 's/in.*r:\([0-9.]\+\) .*$/ \1/'
172.21.214.54
android@android-Latitude-E4300:~$
例子:
获取passwd的USER,UID,GID
sed 读和写
r:复制制定文件插入到匹配行,对文件不会改变
w:复制匹配行到指定文件里,对目标文件会改变,所以要小心
android@android-Latitude-E4300:~$ sed '1r 123.txt' abc.txt
1代表将源文件123.txt插入到目标文件abc.txt的第一行之后
android@android-Latitude-E4300:~$ sed '1w abc.txt' 123.txt
是将源文件123.txt的第一行写入到目标文件abc.txt中,这是abc.txt里面的内容将会被覆盖,可以不指定几行
sed 提前退出:q
android@android-Latitude-E4300:~$nl passwd | sed -n '10q'
打印10行就退出
sed总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~