ПРИМЕЧАНИЕ: этот вопрос является дополнением к этому Q & A: Как «grep» для длины линии в заданном диапазоне?
Как мы можем выполнить поиск строк, которые содержат менее 8 или более 63 символов, ни одна из которых не содержит более восьми и менее 63 символов?
Таким образом, некоторые приемлемые числа символов могут быть ...
7 6 5 4 3 2 1 0
...и...
64 65 66 67 ...
grep
, но вы можете подуматьawk
, особенно если вам нужна дополнительная обработка и т. Д. (Очень гибкие и удобочитаемые ):awk '( length($0)<8 ) || ( length($0)>63 )'
действие #default условия заключается в печати строки (строк), соответствующих условию. Или с меньшей обработкой на $ 0:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'