【问题标题】:Find and replace all the same words in one file in Shell在 Shell 的一个文件中查找并替换所有相同的单词
【发布时间】:2014-02-15 19:49:28
【问题描述】:

我想在一个文件中找到所有相同的单词并将它们替换为相同的单词。我该怎么做?我知道我可以用sed -i 's/old-word/new-word/g' *.txt 做到这一点,但我需要更改所有相同的词。谢谢!

【问题讨论】:

  • 你是什么意思“所有相同的词”?
  • 更好地添加样本输入/输出
  • 显示示例输入和预期输出。 I have 7 "brother" words inside my file 没有任何意义,或者可能意味着很多东西。
  • 为什么s/brother/sister/g 不能在上面工作?
  • 这似乎是你所要求的。只需更新您的问题以显示示例输入和预期输出,因为显然没有人可以弄清楚您要做什么。只需提供我们要求的帮助您的内容,您应该会非常快速和轻松。现在你在浪费很多人的时间。

标签: bash shell replace sed


【解决方案1】:

真的不清楚你在问什么,但这里有一个猜测:

$ cat input
my brother, brothers in the brotherhood

$ sed 's/\<brother\(s\)\?\>/sister\1/g' input
my sister, sisters in the brotherhood

【讨论】:

  • 感谢您的回答!我要问的是:我只需要更改brother,而不是Brotherbrothersbrotherhood。谢谢!