따옴표 뒤의 첫 번째 기호가 점인 경우 각 줄을 어떻게 삭제합니까?

따옴표 뒤의 첫 번째 기호가 점인 경우 각 줄을 어떻게 삭제합니까?

예제에서 따옴표 뒤의 첫 번째 기호가 점인 경우 구성에서 모든 줄을 제거해야 합니다.

local-zone: ".test.com" redirect <- remove
local-zone: "www.test.com" redirect <- don't remove
local-zone: "test.com" redirect <- don't remove

나는 성공하지 못한 채 sed를 사용해 보았습니다.

sed -i '/".*\..*"/d' file.txt

답변1

당신이 그것을 가지고 있다면 sed, 당신 grep도 그것을 가지고 있습니다;)

$ grep -Ev  '"\.[^"]+"' file .txt | sponge file.txt
local-zone: "www.test.com" redirect <- don't remove
local-zone: "test.com" redirect <- don't remove

그리고 sed:

$ sed -i -E '/"\.[^"]+"/d' file
local-zone: "www.test.com" redirect <- don't remove
local-zone: "test.com" redirect <- don't remove

관련 정보