Ersetzen eines Strings in vielen Dateien

perl -i.bak -lape 's/X/Y/g' *
Ersetzt in allen Dateien im aktuellem Verzeichnis den String X durch Y. Es wird dabei von ALLEN Dateien ein File.bak erstellt - auch wenn keine Ersetzung stattgefunden hat.
Oder so recursiv in Unterverzeichnisse
perl -i.bak -lape 's/X/Y/g' `find /pathname -name "filespec"`
bzw.
find /my/path -name '*.ht' -print | xargs sed -i.BAK 's|foo|bar|g'