programing

특정 줄에 공백이있는 sed 삽입 줄

javaba 2021. 1. 14. 23:07
반응형

특정 줄에 공백이있는 sed 삽입 줄


시작 부분에 공백이있는 줄이 있습니다 (예 : "Hello world"). 이 줄을 파일의 특정 줄에 삽입하고 싶습니다. 예를 들어 다음 파일에 "hello world"를 삽입합니다.

hello
world

결과:

hello
    hello world
world

이 sed 스크립트를 사용하고 있습니다.

sed -i "${line} i ${text}" $file

문제는 내가 공백없이 새 줄을 얻고 있다는 것입니다.

hello
hello world
world

space예를 들어 2 개의 공백을 추가하기 위해 문자 를 이스케이프 할 수 있습니다 .

sed -i "${line} i \ \ ${text}" $file

또는 text변수 정의에서 수행 할 수 있습니다 .

text="\ \ hello world"

\이와 같이 여러 개의 공백을 입력하려면 하나만 필요 합니다.

sed -i "${line} i \    ${text}" $file

$ a="  some string  "
$ echo -e "hello\nworld"
hello
world
$ echo -e "hello\nworld" | sed "/world/ s/.*/${a}.\n&/" 
hello
  some string  .
world

.후단 whitepsaces 보존되어 있음을 입증하는 상기 치환에 첨가 하였다. sed "/world/ s/.*/${a}\n&/"대신 사용하십시오 .

참조 URL : https://stackoverflow.com/questions/18439528/sed-insert-line-with-spaces-to-a-specific-line

반응형