shell脚本,正则表达式,如何批量替换多个文件夹中指定字符中的指定字符 50

如何批量替换多个文件夹中指定字符中的指定字符,例如“abcdefg%sas;”这种以a开头的,以;结尾的字符串中的%s。已用grep找到“abcdefg%sas;”如何接... 如何批量替换多个文件夹中指定字符中的指定字符,例如“abcdefg%sas;”这种以a开头的,以;结尾的字符串中的%s。
已用grep找到“abcdefg%sas;”如何接下来操作
展开
 我来答
heart阿飞55
2018-05-02 · TA获得超过1086个赞
知道大有可为答主
回答量:3030
采纳率:82%
帮助的人:547万
展开全部
用Replace Pioneer处理很轻松,找到")"和"("之间的内容,把"、"替换成"|"就可以了。 需要说明的是,你的括号是中文括号"()"而不是英文括号"()",所以不用转义。 以下是详细步骤: 1. ctrl-o打开待处理txt文件 2. ctrl-h打开replace窗口 * 在Search for pattern下面输入: "(^|)).*?((|$)"(不包含左右的双引号) * 在Replace with pattern下面输入: "replace($match,'、','|')"(不包含左右的双引号) 3. 点击Replace,完成。 **************** 另外,这里再给你一个纯正则表达式的版本: 把"、(?=[^)]*((|$))"替换成"|"就可以了。 你也可以在Replace Pioneer的search for pattern输入"、(?=[^)]*((|$))"(无双引号),然后在replace with pattern输入|就可以了。
追问
可是文件有上百个,不可能一一打开替换吧?而且用shell脚本可以简单做到。
回答下问题中shell脚本问题,怎么批量替换多个文件中指定字符串中指定字符。我已经遍历整个文件夹,用grep找到指定字符串了,并准备用sed替换了里面的指定字符,但正则表达式错误,而且原文件中没修改,可以帮忙解答一下吗?或是有什么其他思路么?
谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式