다음은 Gnu sed 문서에서 발췌한 내용입니다.https://www.gnu.org/software/sed/manual/sed.html
i text
insert text before a line. This is a GNU extension to the
standard i command - see below for details.
i\
text
Immediately output the lines of text which follow this command.
이 두 문법의 표현은 매우 다릅니다. 과거에는 구문만 다르고 동작은 똑같다고 생각했습니다. 많은 실험을 했는데 모든 테스트에서 동일한 결과가 나왔습니다. 확인하고 싶습니다. 이 두 구문 사이에 차이점이 있습니까? 미리 감사드립니다.
답변1
이 구문은 i text
명령에 대한 POSIX 표준 구문의 확장으로, 편의를 위해 제공됩니다(GNU 확장의 경우 흔히 발생함).i
sed
표준 i
명령좋다
i\
text
POSIX는 이를 간결하게 문서화합니다.
표준 출력에 텍스트를 씁니다.
GNU는 및 명령에 대해 sed
동일한 구문 편의성을 제공합니다 . 다음은 이 명령에 대한 문서(GNU 버전 4.2.2)에서 가져온 것입니다.a
c
i
info sed
a
sed
GNU 확장으로서
a
개행 문자 사이에 일련의 공백 이외의 다른 것이 있는 경우\
그 뒤의 첫 번째 공백이 아닌 문자로 시작하는 텍스트 줄은a
TEXT 블록의 첫 번째 줄로 간주됩니다. (이것은 한 줄 추가 스크립트 작성을 단순화할 수 있습니다.) 이 확장은i
및 명령 과 함께 사용할 수도 있습니다c
.
즉, 이 두 명령은
i text
그리고
i\
text
GNU에서도 마찬가지입니다 sed
.