Intereting Posts
Удалять файлы старше 5 дней в UNIX (дата в имени файла, а не в метке времени) Как узнать, какие процессы были запущены? Коричневые аварии, и тогда я не могу увеличить максимальное разрешение Как мне получить GrindEQ (плагин Latex для Word) для работы с Word in Wine? Минимальное диалоговое окно настроек xfce4-display-settings не отображает параметр «перейти вправо» привязка ключевых ссылок к функциям оболочки в zsh пользовательский разделитель для поиска unix Использование вывода mpv ASCII с w3m Настройка кеша LVM для очень больших файлов Совместное использование переменных в сценариях подшивки Получение возвратов Nagios из скрипта через NRPE Исходящий адрес маскарада изменяется после добавления второго интерфейса к мосту Как отобразить размер «удобочитаемый человек» в lsof | grep / var * Как заблокировать операцию управления трафиком (tc), если он запущен как не-root? Можно ли сопоставить несколько конкретных номеров строк (не диапазон) с sed?

как не удалить файл с помощью некоторой команды file.txt

Я уже делал это раньше, ожидаю изменить файл на месте, что-то вроде $ tr '\t' ',' file.txt и, $ tr '\t' ',' file.txt же, redirect > обрезает файл до того, как < сможет его прочитать;

Как изменить файл на месте, не обрезая и не удаляя его?

Ты не можешь. Оператор перенаправления > создаст новый пустой файл как часть конвейера. Инструменты (такие как sed --in-place ), которые, похоже, делают это, создают новый файл, записывают в него и перемещают новый файл вместо старого:

 $ ls -i file; sed --in-place 's/foo/bar/' file; ls -i file 266110 file 262180 file