将整个目录中的单词替换为另一个单词

将整个目录中的单词替换为另一个单词

我需要遍历目录中的所有文件才能用另一个单词替换一个单词。例如,如果我有三个文件

  • test1.py
  • test2.py
  • test3.py

所有这些都使用word1我想替换为word2.我知道我可以 grep 目录,但我正在寻找一种更有效的方法来做到这一点。谁能告诉我该怎么做?

事实上,我认为我们可以用于:s一个文件,但不能用于目录中的多个文件。是否有命令行或插件可以用来完成此类任务?

答案1

它应该有效:

sed -i 's/^.*looking_word/new_word/' nameOFfile.py

它应该帮助你理解: https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html

答案2

这将备份所有 python 文件并在文件中永久进行更改。

sed -i.bak 's/word1/word2/g' *.py

-i[后缀], --in-place[=后缀]

就地编辑文件(如果提供扩展名,则进行备份)。默认操作模式是断开符号链接和硬链接。

s 命令(代表“替换”)的语法是:'s/regexp/replacement/flags'。

更多详细信息请点击这里http://www.computerhope.com/unix/used.htm

相关内容