Вы действительно можете использовать sed
:
$ cat test.txt
aaa
bbbb
ccccc
dd
$ sed '/^.\{4\}$/d' test.txt
aaa
ccccc
dd
^
означает начало строки, $
означает конец строки. .\{4\}
означает символ (.
), повторенный четыре раза (\{4\}
). d
в конце удаляет строки, если регулярное выражение совпадает.
Используйте sed -i '/^.\{4\}$/d' test.txt
, чтобы применить изменения к файлу вместо вывода его в стандартный вывод.
Для диапазона от 4 до 8 символов, используйте:
$ sed '/^.\{4,8\}$/d' test.txt
aaa
dd
Чтобы сделать это заглавными:
$ sed '/^.\{4,8\}$/d; s/./\u&/g' test.txt
AAA
DD
Ресурсы:
[1] Мой мозг
[2] С заглавными буквами в sed или awk