用于替换给定句子中的单词的shell脚本

时间:2012-11-08 09:07:33

标签: shell unix

我需要一个unix shell脚本,在执行时接受一个句子并用另一个单词替换给定的单词。

2 个答案:

答案 0 :(得分:1)

如果您需要命令来执行此操作,请尝试使用sed。

例如,在句子hello中将goodbye替换为hello world

$ sed 's/hello/goodbye/g' <<< "hello world"
goodbye world

如果你想在bash脚本中使用它:

#!/bin/bash

if [[ $# -lt 3 ]]
then
     echo "Usage: $(basename $0) word replacement sentence" >&2
     exit 1
fi

word="$1"
replacement="$2"
sentence="$3"

echo "${3//$1/$2}"

示例:

$ replace.sh hello goodbye "hello world"
goodbye world

答案 1 :(得分:0)

使用sed:

sed's / source / destination /'file_with_sentence.txt

  • source是搜索词
  • destiantion是替代
  • file_with_sentence ...已解释

你可以将它包装成一些unix shell脚本(你没有告诉你使用的是哪个shell)

甚至更好:

回声“这是我的句子”| sed's / source / destination /'