awk实现替换字符串中指定位置之间的内容

# 显示第xx行的第yy列的一个字符
sed -n 'xx,xxp' file | awk '{print substr($0,yy,1);}'

# 修改第xx行的第yy列的一个字符Chr,并保存为新文件
awk -F "" 'BEGIN { OFS="" }{if(NR == xx) for(i=yy;i<=yy;i++) {$i="Chr";} print }' file > newfile

 

 

file内容:
123abc456aababc789abcqweabcrtyabc

替换第9个字符到第19个字符之间的abc为xyz:

awk -F "" 'BEGIN { OFS="" } {for(i=9;i<=19;i++) if(i=="a" &&(i+1)=="b" && $(i+2)=="c"){i="x";(i+1)="y";$(i+2)="z"}print }' file

首先通过设定FS,将每个字符看成一个域然后通过for循环进行遍历,经过判断找出abc这样连续的三个字符后进行重新赋值,最后输出,记住,如果用sub、gsub替换,请分析好替换的内容.

 

REF:

http://blog.chinaunix.net/uid-25696473-id-3246669.html

 

posted @   emanlee  阅读(33836)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2014-03-08 Word 中没有Endnote工具栏的解决方法
2014-03-08 Linux查看物理CPU个数、核数、逻辑CPU个数
2010-03-08 苹果系统的优点和缺点
2010-03-08 常见的淘宝骗术有哪些?怎么防骗?
2009-03-08 计算机等级考试陕西省考点名单及报考指南
2009-03-08 2009年NCRE考试有新变化
2009-03-08 全国计算机等级考试评卷、成绩处理和证书管理办法
点击右上角即可分享
微信分享提示