Имеется большой текстовый файл. Хочу удалить из него все строки, длина которых меньше скажем 100 символов.
Никак не могу сообразить как это сделать.
Это реально чем-то выполнить?
LinuxForum.Fans
Как из файла удалить строки короче определенного размера
Автор: valet
7 сообщений
4939 просмотров
можно на чистом баше:
text
cat SRC_FILE | while read STR; do
if [ ${#STR} -ge 100 ]; then
echo $STR;
fi;
done > DST_FILEна sed'е можно как-то так:
sed -rn '/.{100,}/p'
на awk'е тоже должно быть не сложно, но ждите тех, кто его знает...
Fat-Zer, спасибо, работает.
Ну это уже конечно лишнее, sed справляется в считанные секунды.на awk'е тоже должно быть не сложно, но ждите тех, кто его знает...
Ну это уже конечно лишнее, sed справляется в считанные секунды.
секунды - это долго, но если устраивает, то пожалуйста...
Не хочу создавать новую ветку. Возник обратный вопрос: а как удалить все строки, длина которых больше 100 символов.
sed -r '/.{100,}/d'
а как удалить все строки, длина которых больше 100 символов.
sed -r '/.{100,}/d'
Работает! Спасибо.
Войдите или зарегистрируйтесь, чтобы ответить.