쉘의 파일 범위에서 빈 줄을 제거하는 방법

쉘의 파일 범위에서 빈 줄을 제거하는 방법

다음과 같은 파일이 있습니다.

something

import (
    "foo1"
    "foo2"
    "foo3"

    "bar"

    "baz"
 )

something

something

파일을 다음과 같이 변경하는 쉘 명령이 필요합니다.

something

import (
    "foo1"
    "foo2"
    "foo3"
    "bar"
    "baz"
 )

something

something

즉, import (범위의 끝까지 빈 줄을 제거 )하고 앞뒤의 빈 줄을 유지합니다.

답변1

sed이에 적합:

sed '/^import/,/^[[:space:]]*)/ { /^[[:space:]]*$/ d; }'

이 명령은 sed"import"로 시작하고 닫는 대괄호( )로 끝나는 줄 블록 내의 d모든 빈 줄( )을 삭제( ) 하도록 지시합니다./^[[:space:]]*$//^import/,/^[[:space:]]*)/

관련 정보