sed를 사용하여 패턴 위 또는 아래에 선을 삽입 하시겠습니까?
이 질문에 이미 답변이 있습니다.
고유 한 패턴 바로 아래 또는 그 위에 한 줄 또는 여러 줄을 삽입하여 많은 수의 파일을 편집해야합니다. 그 사용하여이 작업을 수행하는 방법에 알려 주시기 바랍니다 sed
, awk
, perl
쉘에서 (또는 다른 것). 감사! 예:
some text
lorem ipsum dolor sit amet
more text
consectetur adipiscing elit
뒤에 삽입하고 싶으 lorem ipsum dolor sit amet
므로 출력 파일은 다음과 같습니다.
some text
lorem ipsum dolor sit amet
consectetur adipiscing elit
more text
패턴 뒤에 추가하려면 : (-i는 현재 위치 바꾸기입니다). line1 및 line2는 추가 (또는 앞에 추가) 할 줄입니다.
sed -i '/pattern/a \
line1 \
line2' inputfile
산출:
#cat inputfile
pattern
line1 line2
앞에 줄을 추가하려면 :
sed -i '/pattern/i \
line1 \
line2' inputfile
산출:
#cat inputfile
line1 line2
pattern
다음은 뒤에 한 줄을 추가합니다 SearchPattern
.
sed -i '/SearchPattern/aNew Text' SomeFile.txt
New Text
를 포함하는 각 줄 아래에 한 줄을 삽입합니다 SearchPattern
.
두 줄 을 추가하려면 a를 사용 \
하고 입력하는 동안 개행을 입력 할 수 있습니다 New Text
.
POSIX sed \
는 a
sed 함수 뒤에 a 와 개행 문자 가 필요 합니다. [1] 줄 바꿈없이 추가 할 텍스트를 지정하는 것은 GNU sed 확장 ( sed
정보 페이지에 문서화 됨)이므로 사용법이 이식성이 떨어집니다.
[1] https://unix.stackexchange.com/questions/52131/sed-on-osx-insert-at-a-certain-line/
스탠자에서 주어진 구절 뒤에 새 구절을 삽입하십시오.
sed -i '/^lorem ipsum dolor sit amet$/ s:$:\nconsectetur adipiscing elit:' FILE
ed를 사용하기 위해 더 휴대 가능합니다. 일부 시스템은 sed에서 \ n을 지원하지 않습니다.
printf "/^lorem ipsum dolor sit amet/a\nconsectetur adipiscing elit\n.\nw\nq\n" |\
/bin/ed $filename
참고 URL : https://stackoverflow.com/questions/11694980/using-sed-insert-a-line-above-or-below-the-pattern
'Program Tip' 카테고리의 다른 글
JQuery.ajax 성공 데이터에서 JSON 구문 분석 (0) | 2020.10.28 |
---|---|
FFT가 실수 대신 복소수를 생성하는 이유는 무엇입니까? (0) | 2020.10.28 |
C ++에서 cin에서 EOF까지 읽는 방법 (0) | 2020.10.28 |
Android 애플리케이션에 외부 글꼴을 추가하는 방법 (0) | 2020.10.28 |
height : 100 % 또는 min-height : html 및 body 요소의 경우 100 %? (0) | 2020.10.28 |