引用符の後の最初の記号がドットの場合、各行をどのように削除しますか?

引用符の後の最初の記号がドットの場合、各行をどのように削除しますか?

例では、引用符の後の最初の記号がドットである場合は、構成からすべての行を削除する必要があります。

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

関連情報