Как «grep» для длины строки * not * в заданном диапазоне?

ПРИМЕЧАНИЕ. Этот вопрос является дополнением к этому Q & A: как «grep» для длины строки в заданном диапазоне?


Как мы можем использовать grep для строк, которые имеют менее 8 или более 63 символов, ни один из которых содержит более восьми и менее 63 символов?

Таким образом, некоторые допустимые количества символов могут быть …

7 6 5 4 3 2 1 0 

…а также…

 64 65 66 67 ... 

  • Обработка текста. Создание файла slurm topology.conf из вывода ibnetdiscover.
  • Как удалить первую точку перед первым номером?
  • введите значение $ LINE вместо «$ LINE»
  • Извлечение уникальной части текста из файла с помощью awk, sed или grep
  • SED или AWK: добавьте символ в каждую строку после найденного шаблона
  • Как изменить все строки в файле python от snake_case до camelCase в sed
  • Как добавить верхний и нижний колонтитулы в плоский файл
  • sed: захват и замена всех данных между последней обратной косой чертой и запятой
  • One Solution collect form web for “Как «grep» для длины строки * not * в заданном диапазоне?”

     grep -xv '.\{8,63\}' <input >output 

    Переключатель -x grep обозначает целое совпадение строк, что означает, что любой сопоставленный шаблон должен определять линию от головы до хвоста. делать …

     grep -x pattern 

    … обычно эквивалентно …

     grep ^pattern$ 

    grep -v переключатель отключает влияние шаблона на выбор линии. обычно делает …

     grep pattern 

    … будет выбирать только строки, соответствующие шаблону, но с отрицательным шаблоном -v выбираются только те строки, которые не совпадают.

    …и так…

     grep -xv '.\{8,63\}' 

    … соответствует всем строкам, которые состоят из головы в хвост где угодно между 8 и 63 символами, а параметр -v отрицанием вызывает grep только для печати всего остального.

    Linux и Unix - лучшая ОС в мире.