kingsxiu3 2022-07-19 13:43 采纳率: 22.2%
浏览 61
已结题

关于#linux#的问题:awk 中 gsub函数可以修改第n个字符开始到第n个字符结束的字符吗

awk 中 gsub函数可以修改第n个字符开始到第n个字符结束的字符吗?就像下面一样
file 文件内容
hello world linux
需要修改字符中7-11的字符为s,不以world作为关键字,gsub能实现吗?或者有更好的办法实现

  • 写回答

2条回答 默认 最新

  • 倪桦 2022-07-19 16:10
    关注
    $echo "hello world linux" | awk -F "" '{for (i=7; i<=11; i++) $i="N"} {print $0}' OFS=""
    
    输出:hello NNNNN linux
    

    awk用参数 -F "" 指定将字符串的每个字符视为一个单独的字段
    然后循环更改第7到第11个字段为字符"N",最后输出行就是你要的结果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月27日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同