Also habe ich ein super einfaches Skript erstellt, das mir erlaubt, in allen Verzeichnissen zu suchen, von denen das Skript ausgeführt wird, die das erste Argument finden und es durch das zweite ersetzen:Seltsames Verhalten mit Bash-Skript für Dateiargumente
obwohl#!/usr/local/bin/bash -f
word_to_look_for=$1
substitue=$2
find ./ type f -exec sed -i "" "s/$word_to_look_for/$substitute/g" {} \;
echo "Replaced ($word_to_look_for) with ($substitue)"
Aus irgendeinem Grund dieses Bit ->"s/$word_to_look_for/$substitute/g"
würde nur dann ausgegeben als s/wordImlookingfor//g
und als Ergebnis sed wäre es mit leeren Text ersetzen, bekommen dies als zu arbeiten beabsichtigt hatte ich das Skript, um die Änderung folgende:
sed_arg="s/$word_to_look_for"
sed_arg="$sed_arg/$substitue/g"
find ./ type f -exec sed -i "" "$sed_arg" {} \;
echo "Replaced ($word_to_look_for) with ($substitue)"
Ich frage mich nur, warum schien Bash nicht so zu mögen, wie ich es in der ersten Version hatte?
Wow, das ist ... peinlich ... danke, obwohl. – Thermatix