如何更改目录中所有文件中出现的所有单词

Rya*_*ard 28 linux ubuntu replace

我正在创建一个User类,其中一个方法是get_privileges();.

经过几个小时的猛烈撞击键盘,我终于发现,我继承了这个特定数据库的前一个编码器在MySQL数据库中将" 特权 " 这个词拼写为" privelages ",因此在数百个访问这些数据库的文件中也是如此. " privelages "它是拼写的那种方式.

在Linux(Ubuntu Server)中是否有办法让我可以浏览/var/www文件夹中的每个位置并用" 特权 " 替换" privelages ",这样我就不必处理这个错字和代码了?

Dan*_*ego 51

考虑子目录(未经测试)的变体:

find /var/www -type f -exec sed -i 's/privelages/privileges/g' {} \;
Run Code Online (Sandbox Code Playgroud)

这将是find所有文件(不是由其指定的目录-type f)/var/www,并执行sed命令将"privelages"替换为它找到的每个文件上的"特权".

  • 谢谢 - 对于Mac上有BSD sed的人.您需要为-i参数添加扩展名.像这样:`sed -i""/ prive ...` (9认同)
  • 请注意在具有 .git 文件夹的目录中执行此操作。这可能会破坏内容! (4认同)