This blog post has been published on 2010-03-28 and may be out of date.
Es kommt öfter vor, dass man schnell in mehreren Dateien etwas ändern möchte, Linux sieht für diesen Fall “sed” vor.
z.B.:
sed -i 's/Ubuntu/Windows/g' test.txt
Alternativ kann man dies auch mittels Perl realisieren.
find . -name '.cfg' | xargs perl -pi -e 's/alt/neu/g'
Mit dem zuvor genannten Befehl kann man in allen Dateien, ab den aktuellen Verzeichnis, welche auf “.cfg” enden, “neu” gegen “alt” ändern. Ggf. kann man den Befehl auch noch in der .bashrc aufnehmen, um diesen noch einfacher und schneller einsetzten zu können. Somit muss man nur noch “replace Pfad alt neu” z.B.:
sudo replace /etc/ host_alt host_neu
# mehrere Dateien gleichzeitig aendern
replace()
{
if [ $3 ]; then
find $1 -type f | xargs perl -pi -e 's/$2/$3/g'
else
echo "Missing argument"
echo "example: replace /wo alt neu"
fi