Ваша команда sed
не должна выводить только совпадения.
s/pattern/replacement/g
просто заменяет шаблон на замену, все остальное не трогаем.
На самом деле на выходе должна быть не точная копия, а "
после удаления шаблона.
Вы можете использоватьgrep
grep -Eo '[-A-Z0-9]+"' data.txt | sed 's/"$//' > clean.txt
или
grep -Po '[-A-Z0-9]+(?=")' data.txt > clean.txt