TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.63K subscribers
Post #1098 1.18K
В Linux можно безопасно перезаписывать файл результатом команды, которая этот же файл читает!

Многие хотя бы раз пытались сделать что-то вроде:
$ sort users.txt > users.txt


И получали пустой файл.

Проблема в том, что shell открывает файл на запись ещё до запуска sort, поэтому содержимое уничтожается раньше, чем команда успевает его прочитать.

Для таких случаев существует sponge из пакета moreutils:
$ sort users.txt | sponge users.txt


Сначала sponge полностью считывает входной поток в память, а затем открывает файл и записывает результат.

Точно так же можно фильтровать логи или конфигурации без временных файлов:
$ grep -v debug app.log | sponge app.log


Или выполнять цепочки преобразований над одним и тем же файлом:
$ sed 's/localhost/db.local/' config.ini | sponge config.ini


🔥 Это позволяет безопасно изменять файл, не создавая временные копии и не рискуя случайно потерять данные.

🚪 Linux Ready | #совет
  • 🔥 13
  • ❤ 7
  • 👍 4
More from @devops_ready
  1. Oct 2, 2026Знали, почему настройки systemd-сервиса лучше менять через systemctl edit? Допустим, прило…
  2. Oct 2, 2026⚡️5 фундаментальных курсов по ИБ по цене одного Это предложение для тех, кто готов войти в…
  3. Oct 2, 2026Этот инструмент поможет поять из чего на самом деле состоит Docker-образ! Он содержит терм…
  4. Oct 1, 2026Проверяем итоговую конфигурацию Docker Compose перед запуском! Когда проект использует баз…
  5. Oct 1, 2026🔄 Безопасный арсенал практических инструкций, курсов и инструментов 👩‍💻 Linux & Bash 🤔…
  6. Oct 1, 2026Шпаргалка по жизненному циклу Pod в Kubernetes! На картинке показано, как запрос проходит…
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 →