linux - 删除linux文件中的特殊字符

标签 linux special-characters

我有很多文件*.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 文件。
  • execdirexec 更安全(请阅读手册页)。
  • -i 告诉 sed 就地修改文件参数。阅读手册页以了解如何使用它来进行备份。
  • {} 表示 find 将替换的路径参数。
  • ;exec/execdirfind 语法的一部分。

关于linux - 删除linux文件中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573854/

相关文章:

javascript替换换行符和特殊字符

linux - 从 bash 脚本添加 ssh 并自动输入密码

Linux 发送邮件 - 命令行

MySQL 转义字符

html - 无法显示特殊字符 HTML

php - 查看间距/换行符

escaping - 计算维度中特殊字符的 QLikView 转义字符

linux - 如何在 Linux 中将 .txt 文件转换为 ReST

php - 在完全上传之前从 zip 文件头获取文件数

linux - 在 Unix 中,递归搜索文件并检索文件而不仅仅是文件路径的命令