查找文件并用某些特定单词替换单词

Ava*_*eka 4 command-line text-processing

找到一些特定的文件,然后一旦找到一个文件,我想要一些特定的词,然后用一个新的词替换它。我可以用一行来做吗?

例如,我想找到一个文件 'file.txt' 并在该文件中使用单行命令搜索read和替换它write

αғs*_*нιη 12

执行:

find -type f -name "specificFileName" -exec sed -i.bak 's/foundWord/replaceWithWord/' '{}' \;
Run Code Online (Sandbox Code Playgroud)

这只会用 'replaceWithWord' 替换第一次看到的 'foundWord',以防您想替换所有这些 'foundWord's add sed's "g" enabler to have replace all seen

find -type f -name "specificFileName" -exec sed -i.bak 's/foundWord/replaceWithWord/g' '{}' \;
Run Code Online (Sandbox Code Playgroud)

注意:这将复制“specificFileName”作为它们的备份文件,并使用“specificFileName.bak”命名它们,通过删除“-i.bak”,您将告诉“sed”进行就地替换,