我有很多文件*.java、*.xml。但是一个人用西类牙字符写了一些评论和字符串。我一直在网上搜索如何删除它们。
我尝试查找。 -type f -exec sed 's/[áíéóúñ]//g' DefaultAuthoritiesPopulator.java
作为示例,我如何从子文件夹中的许多其他文件中删除这些字符?
最佳答案
如果这就是您真正想要的,您可以使用 find
,几乎就像使用它一样。
find -type f \( -iname '*.java' -or -iname '*.xml' \) -execdir sed -i 's/[áíéóúñ]//g' '{}' ';'
差异:
- 如果未提供路径,则路径
.
是隐式的。 - 此命令仅适用于 *.java 和 *.xml 文件。
execdir
比exec
更安全(请阅读手册页)。-i
告诉sed
就地修改文件参数。阅读手册页以了解如何使用它来进行备份。{}
表示find
将替换的路径参数。;
是exec
/execdir
的find
语法的一部分。
关于linux - 删除linux文件中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573854/