У меня есть указанный c файл (file.txt) с несколькими строками.
Как можно удалить все строки, не содержащие 12 символов, с помощью sed?
Используйте интервальное выражение, чтобы указать точное количество символов, которое вы хотите сопоставить между началом (^) и концом ($) входной записи.
^
$
sed '/^.\{12\}$/!d' file
Не уверен, почему вы бы использовали sed. Это намного чище в awk:
sed
awk 'length == 12' file.txt