sed 명령은 출력의 각 입력 줄에 2개의 공백을 추가합니다.

sed 명령은 출력의 각 입력 줄에 2개의 공백을 추가합니다.

sed 명령에서는 기본적으로 출력에서 ​​입력으로 복사된 각 줄에 2개 이상의 공백을 추가한 다음 입력 시 출력에서 ​​마지막 줄을 제거해야 합니다. 이것이 내가 가진 것입니다:

sed -i -e '/PLACEHOLDER/ r TestOutput.txt' -e s/PLACEHOLDER// SQLInput.txt

sed 명령은 이미 출력에서 ​​입력으로 가져오고 PLACEHOLDER를 제거하지만 출력의 각 입력 줄에 2개의 공백을 추가하는 방법을 모르겠습니다. 입력에는 변경하고 싶지 않은 다른 변수와 함수도 포함되어 있다는 점을 명심하세요.

산출:

WORD
WORD
WORD
WORD

입력하다:

PLACEHOLDER

sed 명령 후 예상 입력:

  WORD
  WORD
  WORD
  WORD

답변1

공간을 어디에 추가하고 싶은지 확실하지 않지만 이것이 도움이 될 것이라고 생각했습니다.

sed -i -e '/PLACEHOLDER/ r TestOutput.txt' -e 's/PLACEHOLDER//;s/^/  /' SQLInput.txt

the는 ^시작 라인 앵커이므로 이 명령문은 s/^/ /기본적으로 모든 라인의 시작 부분에 두 개의 공백을 추가합니다.

관련 정보