TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #539 807
Как работать с большими файлами без загрузки в память

Частая ошибка: пытаться обработать большой файл, загружая его целиком в память.

Например:


content=$(cat huge.log)


Если файл весит несколько гигабайт - скрипт может съесть всю RAM или просто упасть.
Правильный подход - обрабатывать файл потоково.

▪️ Чтение файла построчно. Самый безопасный способ:


while IFS= read -r line; do
echo "$line"
done < huge.log


файл читается строка за строкой;
память почти не используется;
можно обрабатывать очень большие файлы.

▪️ Использование grep / awk. Unix-утилиты работают потоково, поэтому идеально подходят для больших файлов. Например:


grep ERROR huge.log


или:


awk '/ERROR/ {print $0}' huge.log


Они читают файл частями, не загружая его полностью.

▪️ Анализ логов. Быстрый пример анализа:


grep ERROR huge.log | awk '{print $5}' | sort | uniq -c


Это обработает гигабайтные логи за секунды.

▪️ tail для живых логов. Если файл постоянно растет:


tail -F huge.log


Можно фильтровать сразу:


tail -F huge.log | grep ERROR


Это удобно для мониторинга сервисов.

▪️ Чтение файла частями. Иногда нужно обрабатывать батчами:


split -l 100000 huge.log part_


Файл разобьется на куски:


part_aa
part_ab
part_ac


Теперь их можно обрабатывать параллельно.

BashTex 📱 #bash #utils
  • 👍 8
  • 🔥 1
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →