특정 패턴 뒤에만 다음 줄에 공백 추가

특정 패턴 뒤에만 다음 줄에 공백 추가

나는 이 질문이 2년 전에 제기되어 좋은 결과를 얻었다는 것을 알았습니다.

sed 's/$/      /' SUDIP1>SUDIP2

하지만 각 줄에 공백을 추가하면 후속 sed명령이 엉망이 된다는 것을 알았습니다. 다음을 검색하고 싶습니다 EQU.

EQU      
888-111-2222   T   1234

그런 다음 한 줄 아래로 이동하고 다음 유형의 줄 끝에 추가 공백을 추가하고 그 사이에 다른 모든 줄을 유지합니다.

888-111-2222   T   1234(6 white spaces here)

이 사이트의 여러 사람들이 내 질문을 중복으로 표시했지만 그렇지 않습니다. 그들이 지적하는 문제는 문자 C가 나타난 후에 문자열을 검색한 다음 이를 다른 문자열로 바꾸는 것입니다. 내 질문은 줄의 텍스트를 변경하지 않고 줄 끝에 공백을 추가한다는 점에서 다릅니다. 질문을 중복이라고 너무 빨리 부르지 마십시오. 사람들의 평판과 포인트에 영향을 미치세요!

답변1

당신이 가지고 있다면암소 비슷한 일종의 영양 sed, 노력하다:

sed '/^EQU/ {n; s/$/      /}' SUDIP1>SUDIP2

또는POSIX리:

sed '/^EQU/ {
n
s/$/      /
}' SUDIP1>SUDIP2

관련 정보