Linux는 ini 파일에서 키 값이 없는 행을 삭제합니다.

Linux는 ini 파일에서 키 값이 없는 행을 삭제합니다.

다음 형식의 다른 값을 가진 구성 파일이 있습니다.

[Global]

control_ip =
control_port =
control_socket = /run/tipper.sock
control_pass =

이제 섹션 헤더를 =제거하지 않고 그 뒤에 값이 없는 행만 삭제하고 싶습니다 .[Global]

답변1

sed '/=\s*$/d' infile

또는

sed '/=[[:blank:]]*$/d' infile

=0개 이상의 공백으로 끝나는 줄을 제거합니다 .


awk빈 줄을 사용 하고 유지하세요.

awk -F'[=\t ]' '$NF!="" || /^$/' infile

또는

awk -F'=[[:blank:]]*' '$NF!="" || /^$/' infile

관련 정보