繁体   English   中英

用正则表达式查找替换文件内容

find with regular expression to replace file content

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想用“jakarta”递归地(在项目目录中)替换“javax”这个词。 这适用于以“java”结尾的文件:

find . -name '*.java' | xargs sed -i 's/javax/jakarta/g'

对于 XML 文件,我也需要这样做。 要使用单个命令,我尝试修改 find 表达式,如下所示:

find . -regex '^.*\.(java|xml)$'

但是,找不到文件。 我也尝试过:

find . -regex '.*/^.*\.(java|xml)$'

但还是一无所获。 你能帮我重写查找器表达式以使用多个文件后缀吗? 谢谢

1 个回复

您仍然可以多次使用-name来匹配多个模式:

find . \( -name '*.java' -o -name '*.xml' \) -print0 |
xargs -0 sed -i 's/javax/jakarta/g'

如果你想使用-regex那么你也应该使用-regexrtype选项来扩展正则表达式匹配:

find . -regextype awk -regex '.+\.(java|xml)$' -print0 |
xargs -0 sed -i 's/javax/jakarta/g'

注意-print0xargs -0选项来处理带有特殊字符的文件名。

1 正则表达式查找和替换标签内容

使用常规exp查找和替换标签。 我有大量的xml文件。 我想找到.mp3文件,并用<url></url>类的空标签替换标记 <url>audio/mod1_s11.mp3</url> <url>audio/mod1 ...

2015-05-29 10:01:58 2 41   regex
2 查找带有正则表达式的文本并在文件中替换

我想在带有正则表达式的文件中找到文本,然后将其替换为另一个名称。 我必须首先逐行读取文件,因为以其他方式re.match(...)找不到文本。 我想修改的测试文件是(不全部,我删除了一些代码): 现在,将configDB名称替换为另一个的python代码。 我必须通过正则表达式 ...

3 在固定长度文件中查找/替换的正则表达式

所以我有这个固定长度线的大文件。 我想查找并替换字符行位置。 例: 因此,在这种情况下,我想查找从位置13到位置18的任何值,并将其替换为010107。 谁能帮我解决这个正则表达式的问题吗? 非常感激。 ...

4 正则表达式查找和替换

我有一个格式很差的XML文件,我希望替换一些标签的名称。 例如... 应该成为 我有超过7000个条目,并不想手工这样做。 我正在使用Dreamweaver的查找和替换。 显然,示例中的值“1”是动态值。 为任何帮助干杯...... ...

5 查找并替换正则表达式

如何用正则表达式查找和替换以下内容? 我想在{Davis:1987}中更改\\ cite {Davis:Cell:1987} 然后将{Gehring:GenesCells:1996}引用到{Gehring:1996} 非常感谢。 ...

2014-05-09 16:29:04 3 249   regex
6 查找和替换的正则表达式

我有这样的字符串: ('Michael Herold','Michael Herold'), 但我需要删除最后的部分,所以我最终得到: ('Michael Herold'), 我对正则表达式还是新手,所以他们让我很困惑。 我正在使用记事本++。 ...

7 正则表达式:查找和替换

我需要每行包含 6 个位置除以“;” 而在某些行中,它是这样的:1;2;3;4;6;3;5。 所以我需要将最后两位数字结合起来,使其变成:1;2;3;4;6;35 我有以下正则表达式: \\d;\\d;\\d;\\d;\\d;\\d;\\d\\r匹配字符串,我如何用这个替换它: \\d;\\d; ...

2020-09-13 09:01:37 4 52   regex
10 正则表达式替换HTML内容

我试图用正则表达式替换HTML内容。 从 至 请注意,只有HTML标记之外的单词才会从ZZZ替换为AAA。 任何想法? 非常感谢提前。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM