Sie brauchen die Anführungszeichen eigentlich nicht, sed
können mit Leerzeichen umgehen, und die Anführungszeichen werden als Teil des Musters betrachtet (es sei denn, Sie entgehen ihnen). Mach einfach das:
ack-grep -l --print0 --text 'laughing babies' | xargs -0 -n 1 sed -i -e 's/laughing babies/smiling little children/g'
Ich verstehe nicht, warum Sie das grep
Teil wollen, Sie könnten einfach sed
alle Dateien des Verzeichnisses direkt ausführen, sed
ist schnell:
sed -i -e 's/laughing babies/smiling little children/g' *