Вы можете создать регулярное выражение GNU sed как минимум на 4 символа в виде .{4,}
- затем удалить все строки except , содержащие не менее 4 символов:
sed -r '/.{4,}/!d' file
Аналогично, строка, начинающаяся с более чем трех последовательных цифр, будет ^[0-9]{4,}
, поэтому для удаления всех этих
sed -r '/^[0-9]{4,}/d' file
Вы можете комбинировать их либо с помощью -e
или ;
sed -r -e '/.{4,}/!d' -e '/^[0-9]{4,}/d' file
или р>
sed -r '/.{4,}/!d ; /^[0-9]{4,}/d' file
Обратите внимание, что .
соответствует символам пробела, а также не пробелам - если это не то, что вы хотите, вы можете изменить его, заменив .
на диапазон символов или класс POSIX, например [[:alnum:]]
. р>