Вы также можете сделать это без группы захвата:
sed 's/^\|$/"/g'
'^' соответствует началу строки, а '$' соответствует концу строки.
|
- это «Чередование», оно просто означает «ИЛИ».Он должен быть экранирован здесь [1], поэтому на английском языке ^\|$
означает «начало или конец строки».
«Замена» этих символов - это хорошо, он просто добавляет текст в начало вконец, так что мы можем заменить "
и добавить g
в конце для глобального поиска, который будет соответствовать обоим сразу.
[1] К сожалению, оказывается, что |не является частью «Базовых регулярных выражений» POSIX, но является частью «расширенных» функциональных возможностей, которые могут быть скомпилированы с флагом REG_ENHANCED, но не включены по умолчанию в OSX, поэтому вы безопаснее с соответствующей базовой группой захвата, такой как s/^\(.*\)$/"\1"/
Скромный пирог для меня сегодня.