Согласно этому ответу sed может фильтровать строки по их длине:
sed -e '/.\{120\}/!d'
[…] Соответствует строкам, которые не содержат (как минимум) 120 символов (! после выражения выполнить команду в строках, которые не соответствуют шаблону до него), и удалить их (т. е. не печатать их).
sed -i работает на месте. Это приводит к следующему подходу:
cp -a original_dir/ modified_dir/
find modified_dir/ -type f -exec sed -i -e '/.\{80\}/!d' {} +
Теперь каждый файл из original_dir/ имеет свою модифицированную версию modified_dir/ .
В качестве альтернативы вы можете работать полностью внутри original_dir/ , говоря sed сохранять старые файлы с суффиксом:
find original_dir/ -type f -exec sed -i.old -e '/.\{80\}/!d' {} +
В этом случае, если вы используете -i вместо -i.old , старые файлы будут потеряны.