我想替换出现在多个文件中的字符串。对于单个文件,我可以使用 unix 命令来完成:
sed 's/error("/printf( "ERROR : /g' all_reset_test.c > new_reset/all_reset_test.c
将文件中的所有 'error("'
替换为 'printf( "ERROR : '
。
但是我有 100 多个文件需要执行此操作。我正在寻找如何在 perl 或 python 脚本中一次对所有文件运行此命令。
最佳答案
你可以使用sed的选项-i
引用自 sed 的联机帮助页:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
如果省略后缀,sed 将不会在修改文件之前创建备份。
在你的情况下
sed -i 's/error("/printf( "ERROR : /g' *.c
应该可以完成这项工作(无需 pyhton、perl 或 bash 循环)。
关于python - 如何替换多个文件中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25406340/