Bash: как сделать замену строк в функции? - PullRequest
0 голосов
/ 18 февраля 2020

Я написал bash скрипт с оператором curl и многими операторами sed после этого. Я хотел бы переместить все замены sed в функции, чтобы выражение curl выглядело лучше. Как я могу передать параметр? Должен ли я сохранить результат curl в переменной? А как работает возврат в функцию?

function do_replacements () {

}

curl -s http.... | do_replacements > target.txt

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете игнорировать stderr для предотвращения печати сводной информации о передаче и чтения из stdin в функции:

do_replacements() {
  sed 's/foo/bar/g;s/abc/def/g'
}

curl http://… 2>/dev/null | do_replacements > target.txt

Как таковое значение «return» отсутствует, функция печатает измененный результат в stdout и этот вывод затем перенаправляется на target.txt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...