TGViewer
Linux Ready | DevOps Linux Ready | DevOps @linux_ready · 11.2K subscribers
Post #1388 1.96K
В 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 | #совет
  • 🔥 17
  • 👍 8
  • ❤ 5
More from @linux_ready
  1. Oct 5, 2026Для отладки изолированного процесса необязательно заходить внутрь контейнера или менять ег…
  2. Oct 5, 2026Как оплачивать зарубежные сервисы в 2026 году? Можно бегать между посредниками и бояться б…
  3. Oct 5, 2026📂 Напоминалка для работы с SED! Например, sed 's/old/new/g' file.txt заменяет все вхожден…
  4. Oct 2, 2026В Linux можно копировать собранные файлы так, чтобы не менять файл назначения, если новая…
  5. Oct 2, 2026🎓 Как гарантированно войти в сферу кибербезопасности с официальным дипломом? Самостоятель…
  6. Oct 2, 2026👩‍💻 SSH: подключение, ключи, туннели и Jump Host! В этом посте собраны основные команды…
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 →