如题,我目前在用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
这样
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。