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/^/ /
기본적으로 모든 라인의 시작 부분에 두 개의 공백을 추가합니다.