sed – Rechercher / Remplacer
Simple sur un fichier
sed -i -e "s/foo/bar/" path/to/file.txt
Récursif avec grep
grep -rl "foo" path/to/directory |
while read filename
do
(
sed -i -e "s/foo/bar/g;" $filename
)
done
Récursif sur une extension de fichier
find path/to/directory/ *.txt -type f -exec sed -i 's/foo/bar/g' {} \;
Rechercher / remplacer
sed -i -r -e 's/<username>[^<]+<\/username>/<username>neolao<\/username>/' file.txt
Rechercher / remplacer multilignes
sed -i -r -e '/<plop>/,/<\/plop>/ s/true/false/g' file.txt
sed -i -e 's/\s*<\/li>/<\/li>/g' file.txt
sed -i -n -E '1h;1!H;${;g;s/\n<\/li>/<\/li>/g;p;}' file.txt
sed -i -n -E '1h;1!H;${;g;s/<li>\s*([^<]+)<\/li>/<li>\1<\/li>/g;p;}' file.txt