谷姐:我们都是谷歌迷
We are all Google fans

有没有懂sed替换的? 只匹配字母和数字组合,不能纯数字-小朋友

Rate this post

如题,我目前在用sed -i 不开启 -r 的情况下,匹配本地文本字符串替换,

具体是这样的每行
xxxxxxxxxxxx_584b284368b25bef.xxx
xxxxxxxxxxxx_0000000000000000.xxx
xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx

我想替换只包含 字母和数字组合的部分,其他纯数字或纯字母的不替换。

目前用 _[a-z0-9]\{16\}\+ 把全部都替换了,我想区别替换,大佬有办法吗?

热议
推荐楼 adminisd 2小时前

哪来的这么复杂的需求,正则匹配最难的就是没有规则+不修改一部分。
先替换数字开头的,再替换字母开头的。具体自己想办法

2楼 whyclong 2小时前

有点难,这种我一般就写多几步,把纯数字和纯字母的挑出来,然后再替换。

3楼 小朋友 2小时前

有点难,这种我一般就写多几步,把纯数字和纯字母的挑出来,然后再替换。 ...

我也网上搜索也找了一遍,可能我每发现到有我这需求的,我也尝试各种组合也不行,所以才来问各位大佬了

4楼 whyclong 2小时前

非纯数字 and 非纯字母 这样替换也许可以

6楼 shwish 2小时前

你可以变通一下,我先占个楼

7楼 小朋友 2小时前

哪来的这么复杂的需求,正则匹配最难的就是没有规则+不修改一部分。
先替换数字开头的,再替换字母开头的 ...

哎,现在去各种群请教所谓的大佬,个个说得简单,都是说先这样,先那样,就是没有给你示例。我都失望了

8楼 Bai. 1小时前

哎,现在去各种群请教所谓的大佬,个个说得简单,都是说先这样,先那样,就是没有给你示例。我都失望了 ...

多分几个步骤就好了,要多不耻下问

9楼 小朋友 1小时前

Bai. 发表于 2022-11-29 16:57
多分几个步骤就好了,要多不耻下问

也可以,我先匹到纯数字或者纯字母的打乱,让后面替换字母和数字组合无法匹配到,待字母和数字组合的替换完成,再恢复这 纯数字或者纯字母的。
只是这样就不够明智简短。

10楼 Bai. 1小时前

n=0
for文本第n行
过滤匹配中间那段
如果 文本中间那段内容全相同
n=n+1
进入下个循环
否则替换中间那段

12楼 Bai. 1小时前

只能在sed通过正则实现,不借助其他命令。

sed不在shell中用?

13楼 zxxx 1小时前

给几个替换前后的例子

14楼 小朋友 1小时前

sed不在shell中用?

我这是在windows环境下,使用的sed.exe,所以这就难办了

15楼 Bai. 1小时前

我这是在windows环境下,使用的sed.exe,所以这就难办了

vscode就能写shell
我现在用的是 pycharm

替换后

    oem_enterprisee_*.xml
    oem_enterprisen_*.xml
    oem_enterprise_*.xml
    oem_homebasice_*.xml
    oem_homebasicn_*.xml
    oem_homebasic_*.xml
    oem_homepremiume_*.xml
    oem_homepremiumn_*.xml
    oem_homepremium_*.xml
    oem_professionale_*.xml
    oem_professionaln_*.xml
    oem_professional_*.xml
    oem_startere_*.xml
    oem_startern_*.xml
    oem_starter_*.xml
    oem_ultimatee_*.xml
    oem_ultimaten_*.xml
    oem_ultimate_*.xml
    _*.xml

注意,原来的_0000000000000000.xml 替换成_*.xml

17楼 zxxx 1小时前

xxxxxxxxxxxx_584b284368b25bef.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_0000000000000000.xxx -> xxxxxxxxxxxx_0000000000000000.xxx
xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx -> xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx

这样?

18楼 小朋友 半小时前

zxxx 发表于 2022-11-29 17:21
xxxxxxxxxxxx_584b284368b25bef.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_0000000000000000.xxx -> xxxxxxx ...

我不想替换 _0000000000000000.xxx
这种纯数字或者纯字母,只想替换这16个字包含字母和数字的组合

19楼 zxxx 半小时前

xxxxxxxxxxxx_584b284368b25bef.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_0000000000000000.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx -> xxxxxxxxxxxx_*.xxx
_0000000000000000.xml ->_0000000000000000.xml

这样?

20楼 小朋友 半小时前

zxxx 发表于 2022-11-29 18:19
xxxxxxxxxxxx_584b284368b25bef.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_0000000000000000.xxx -> xxxxxxx ...

xxxxxxxxxxxx_584b284368b25bef.xxx -> xxxxxxxxxxxx_*.xxx
xxxxxxxxxxxx_0000000000000000.xxx -> xxxxxxxxxxxx_0000000000000000.xxx
xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx -> xxxxxxxxxxxx_aaaaaaaaaaaaaaaaa.xxx
这样

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

未经谷姐允许不得转载:谷姐靓号网 » 有没有懂sed替换的? 只匹配字母和数字组合,不能纯数字-小朋友
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活