を使用して複数の文章を検索して置き換えると、単語を検索して置き換えるスクリプトがあります。どのように文章や単語の組み合わせに対しても同じことができます。bash
first_words="wwe wwf ziggler"
second_words="tna njpw okada"
mywords=($first_words)
mywords2=($second_words)
if [ ${#mywords[@]} != ${#mywords2[@]} ];then
echo "you should use the same count of words"
exit 1
else
echo "you are using the same count of words, continue ..."
fi
for ((i=0;i<"${#mywords[@]}";++i)); do
sed -i "s/${mywords[$i]}/${mywords2[$i]}/g" text.txt
done
それは動作しますが、唯一の単語で単語を置き換える: 私のスクリプトで確認してください。しかし、私はいくつかの単語の組み合わせでいくつかの単語の組み合わせを置き換えたい場合。 たとえば、「dolph ziggler、john cena、randy orton」「cm punk、hulk hogan、rey mysterio」に置き換えたいとします。私はこの会合で何をすべきか。私はいくつかの区切り文字を処理する必要があります。最初のケースでは、スペースは単語の区切り文字ですが、この状況ではスペースを使用できません。私は何ができますか ?助けてください。
を防ぐために、引数として文章を渡すことは可能、安全、注射ではありません配列に直接代入するだけですか? – 123
はすべてのスクリプトではないためです。それはスクリプトの一部です。私は変数で入力パラメータを使用する必要があります。 – Piduna
どのように要素の開始と終了を決定していますか? – 123