Пропустить навигацию.

sed и gsed: заменить через ssh во всех файлах подсроку на другую подстроку в примерах

В *nix есть утилита sed, это поточный редактор.

В плане замены строк sed работает так:

sed -e 'e/aaa/bbb/g' file.txt > file.txt

Все вхождения подстроки aaa будут заменены на bbb. Если убрать инструкцию «g», то будет заменено только единственное вхождение, а не глобально.

У sed есть более функциональный брат-последователь GNU sed, во FreeBSD его можно найти в портах как gsed, установим:

cd /usr/ports/textproc/gsed
make config && make install && make clean

Не забывайте после установки выполнить
rehash
чтобы заставить FreeBSD перечитать файлы и обращаться к gsed без указания пути к программе.

gsed нам понадобиться чтобы без постройки велосипеда во FreeBSD заменить во всех файлах одну строку на другую:
gsed -i 's/aaa/bbb/g' *

Конечно, приведённый пример — лишь капля из возможностей sed и GNU sed, но, как показывает вебмастерский опыт — наиболее востребованный.