首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分词敏感文本替换CLI工具

分词敏感文本替换CLI工具
EN

Software Recommendation用户
提问于 2022-12-16 21:36:29
回答 2查看 40关注 0票数 2

我正在寻找一个Linux命令行实用程序,它可以进行文本替换(比如sedsd),并且能够自动将搜索和替换模式扩展到具有不同的单词分隔方法的字符串。所谓词分离,我指的是词之间的连字符/下划线/空格、camelCaseUpperCamelCase等。

因此,如果您告诉它将an example string替换为another example string,它可以用用户的最小努力(例如添加一些CLI选项),将an-example-string替换为another-example-stringanExampleString替换为anotherExampleString,等等。

其他搜索关键词:保用实例替换

EN

回答 2

Software Recommendation用户

发布于 2022-12-17 03:40:30

如果你给它一个合适的模式,sed就能做到这一点。

代码语言:javascript
复制
sed -i 's/\(an\)\([^a-zA-Z]?\)\(example\)\([^a-zA-Z]?\)\(string\)/another\2\3\4\5\6/'

显然,我在分组方面做得太过火了,在这个例子中,您可以使用

代码语言:javascript
复制
sed -i 's/an\([^a-zA-Z]?example[^a-zA-Z]?string/another\1/'

关键是,您可以将输入拆分到“单词”和“单词分隔符”中,然后将它们重新组合起来。有趣的问题是,我们能否编写一个程序来为您编写sed脚本,我相信答案是“不行”。

不明显的是,你会想要把“一只害群之马”映射成“红黄牛”。我可能会猜到,你想要的是基于名词和形容词的“->”--“->”--“红色和黄色”和“绵羊”--“->”--牛,但这无助于"ACamelShip“-> "Xyzzy in motion”。

TL;

博士

sed可以做你想做的事情,但是我不能给你一个自动工具来正确地完成你想要的事情,因为问题是没有明确规定的。

票数 1
EN

Software Recommendation用户

发布于 2022-12-19 22:52:54

就像往常一样,我最终写了我自己想要的草稿:https://gitlab.com/smheidrich/cawspr

请随时打开有关功能缺失或错误的问题,并提交合并请求。

票数 0
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/84786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档