Имеется большой текстовый файл. Хочу удалить из него все строки, длина которых меньше скажем 100 символов.
Никак не могу сообразить как это сделать.
Это реально чем-то выполнить?
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Работа в командной строке → Как из файла удалить строки короче определенного размера
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Имеется большой текстовый файл. Хочу удалить из него все строки, длина которых меньше скажем 100 символов.
Никак не могу сообразить как это сделать.
Это реально чем-то выполнить?
можно на чистом баше:
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, спасибо, работает.
на awk'е тоже должно быть не сложно, но ждите тех, кто его знает...
Ну это уже конечно лишнее, sed справляется в считанные секунды.
Ну это уже конечно лишнее, sed справляется в считанные секунды.
секунды - это долго, но если устраивает, то пожалуйста...
Не хочу создавать новую ветку. Возник обратный вопрос: а как удалить все строки, длина которых больше 100 символов.
а как удалить все строки, длина которых больше 100 символов.
sed -r '/.{100,}/d'
Работает! Спасибо.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Работа в командной строке → Как из файла удалить строки короче определенного размера
Форум работает на PunBB, при поддержке Informer Technologies, Inc