jetzt habe ich Skript, um Wörter zu suchen und zu ersetzen. Wie kann ich das gleiche für Sätze oder Wortkombinationen tun? auf meinem Skript suchen:Suchen und Ersetzen mehrerer Sätze mit 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
Es funktioniert, aber nur Wort für Wort ersetzen. Aber wenn ich mehrere Wortkombinationen bei mehreren Wortkombinationen ersetzen möchte. Zum Beispiel "dolph ziggler, john cena, randy orton" möchte ich auf "cm punk, hulk hogan, rey mysterio" ersetzen. Was ich in dieser Situation tun sollte. Vielleicht sollte ich mit einem Trennzeichen umgehen. Im ersten Fall war das Leerzeichen ein Begrenzer für Wörter, aber in dieser Situation kann ich keinen Platz verwenden. Was ich tun kann ? Bitte helfen Sie.
Warum zuweisen Sie Variablen und dann mit ihnen in der Anordnung zu verhindern, anstatt nur direkt dem Array zuweisen? – 123
weil es nicht alles Skript ist. Es ist ein Teil des Skripts. Ich sollte Eingabeparameter in Variablen verwenden. – Piduna
Wie bestimmen Sie, wo Elemente beginnen und enden? – 123