Ведущие пробелы сохраняются в команде echo
.Возьмем, к примеру, этот сценарий:
echo 'abc
def'
Вывод:
$ sh foo.sh
abc
def
Но начальный пробел в тексте sed
для команды a\
не сохраняется с BSD sed
, который приходитс macOS
.Возьмите этот сценарий:
echo abc | sed '/abc/a\
def
'
Вывод с помощью BSD sed
в macOS:
$ sh foo.sh
abc
def
Вывод с помощью GNU sed
в Linux:
$ sh foo.sh
abc
def
IЯ могу решить эту проблему на macOS и сохранить начальные пробелы, как это:
echo abc | sed '/abc/a\
\ \ \ \ def
'
Вывод:
$ sh foo.sh
abc
def
Где поведение игнорирования начальных пробелов в тексте для a\
команда, указанная в Документация POSIX sed
?
Я не смог найти ничего в документации, которая говорит, что такое поведение игнорирования начальных пробелов в тексте для a\
является правильным.Можете ли вы увидеть в документации что-нибудь, что это поведение правильно?