免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3838 | 回复: 10

如何实现匹配一个字符串的第n个字符开始的m个字符? [复制链接]

论坛徽章:
0
发表于 2010-04-15 12:50 |显示全部楼层
比如字符串 abcdefghijklmnopqrst
要把其中第5个字符开始的连续3个字符(也就是efg)替换为 $name(其中,name = "haha")

能帮忙实现一下么,

论坛徽章:
0
发表于 2010-04-15 12:59 |显示全部楼层
#!/bin/bash
var=abcdefghijklmnopqrst
name="haha"
name=${var:4:3}
echo "$name"

这个意思?

论坛徽章:
0
发表于 2010-04-15 13:37 |显示全部楼层
#!/bin/bash
var=abcdefghijklmnopqrst
name="haha"
name=${var:4:3}
echo "$name"

这个意思?
iori809 发表于 2010-04-15 12:59

$ echo abcdefghijklmnopqrst|cut -b5-7
efg
?

论坛徽章:
0
发表于 2010-04-15 13:50 |显示全部楼层
lxu@lxu-laptop:~$ cat test.sh
#!/bin/bash
var=abcdefghijklmnopqrst
echo $var
name=haha
echo $name
tihuan=`echo $var|cut -b5-7`
echo $tihuan
urlfile=`echo $var |sed "s/$tihuan/$name/g"`
echo $urlfile
lxu@lxu-laptop:~$ sh test.sh
abcdefghijklmnopqrst
haha
efg
abcdhahahijklmnopqrst
是这个意思么

论坛徽章:
0
发表于 2010-04-15 14:49 |显示全部楼层
回复 1# cusheller
  1. name=haha;echo "abcdefghijklmnopqrst"|sed -r 's/^(.{4}).{3}/\1'"$name"'/'
复制代码

论坛徽章:
0
发表于 2010-04-15 19:35 |显示全部楼层
awk1
{sub1=substr($0,1,n-1);sub2=substr($0,n+m+1);printf sub1 $insertdata sub2}
nawk -f awk1 datafile

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
发表于 2010-04-15 20:35 |显示全部楼层

  1. name="haha"; echo "abcdefghijklmnopqrst" | awk -F '' '{printf $1$2$3$4"'"$name"'";for(i=8;i<=NF;i++)printf $i;print ""}'
复制代码

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
发表于 2010-04-15 22:25 |显示全部楼层
[monitor@test ~]$ export NAME="haha" && echo "abcdefghijklmnopqrst"|sed 's/\(.....\)\(...\)\(.*\)/\1'$NAME'\3/'
abcdehahaijklmnopqrst
[monitor@test ~]$

论坛徽章:
0
发表于 2010-04-16 21:52 |显示全部楼层
学习了,
name="haha"; echo "abcdefghijklmnopqrst" | awk -F '' '{printf $1$2$3$4"'"$name"'";for(i=8;i<=NF;i++)printf $i;print ""}'真强

论坛徽章:
0
发表于 2010-04-17 00:20 |显示全部楼层
str="abcdefghijklmnopqrst" ;
name="haha";
result=${str:0:4}$name${str:4+3}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP