gpt4 book ai didi

regex - 如何找到文件中的特定行,然后使用 vi/vim 编辑器从这些行中替换一个词,保持其他一切完好无损

转载 作者:行者123 更新时间:2023-12-05 09:28:36 25 4
gpt4 key购买 nike

我有一个带有一堆行的随机文件。片段:

lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not simply random text cold
lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not simply random text hot
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout
There are many variations of passages of Lorem Ipsum available
lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not simply random text tea
There are many variations of passages of Lorem Ipsum available
lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not simply random text bee

等等

我想匹配以 lorium0{([y])} 开头的每一行,然后使用 vi 将 simply 替换为 very 或vim 编辑器(最好使用 vi)。想用 1 行命令 完成此操作。

  1. 查找正则表达式匹配以过滤掉不需要的行
  2. 找到单词simply并替换为very

即:

lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not simply random text bee
Becomes:
lorium0{([y])} Contrary to popular belief, Lorem Ipsum is not very random text bee

尝试:

:1,$ s\(lorium0[^ ].*\)\1\(simply\)\2\1: very\2g 

但是在格式化命令和理解捕获组替换方面存在困难。

谢谢。

最佳答案

使用带有模式的:g 来限制进行替换的行。例如:

:g/^lorium0{(\[y\])}/s/simply/very

这是经典的解决方案,遵循模式g/pattern/command。 (当“pattern”被“re”(正则表达式)替换并且命令是“p”(打印)时,这变成了g/re/p,你就会明白为什么流行的命令被命名为grep.) 全局搜索缓冲区,并将命令应用于与模式匹配的任何行。有关详细信息,请使用 :help :global

关于regex - 如何找到文件中的特定行,然后使用 vi/vim 编辑器从这些行中替换一个词,保持其他一切完好无损,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71258011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com