Как очистить текст, который существовал в текстовом файле, не открывая его?
Я имею в виду, например, что у меня есть файл hello.txt
с некоторыми текстовыми данными, и как я могу очистить весь текст в этом файле, не открывая его?
Под этим я подразумеваю не использовать какой-либо редактор, такой как nano, Gedit и т. Д.
command-line
bash
rɑːdʒɑ
источник
источник
Ответы:
Просто откройте ваш терминал с CTRL+ ALT+ Tи типа,
вот и все, ваши данные в этом файле будут очищены, даже не открывая его.
Пример:
источник
stdout
перезаписывает существующий файл, если таковой имеется. В этом случае ничего нетstdout
. Таким образом, файл перезаписывается с помощью void, по существу стирая предыдущие данные, если таковые имеются.Самый простой способ - обрезать файл - перенаправить вывод команды shell no-op (
:
) в файл, который вы хотите стереть.источник
>
) , но самый быстрый для sure..i удивления , почему она не упоминается ни в одном из ответов этого высоко смотрели question..here, взять +1 ..Я также собираюсь использовать перенаправление как ответ раджагенупулы. Но есть немного больше гибкости. Откройте терминал и введите
И нажмите Ctrl+ C. Это сотрет предыдущий файл. Если вы хотите до этого много, это хорошо.
Если вы хотите, вы можете сделать что-то еще после стирания файла. Таким образом, вы можете не только стереть файл без открытия, но также вы можете написать несколько строк с правильным форматированием в файле. Скажем, вы хотите написать «Ubuntu - лучшая ОС» после очистки файла, просто сделайте
Затем нажмите Ctrl+ C. Теперь предыдущий файл уничтожен. В то же время слова заключены в две строки.
Смотрите пример:
источник
>
обозначает перенаправление.cat > file
запишетstdout
в файл, переписав любой существующий файл.Я должен делать это все время с файлами журналов. Самый простой способ, который я нашел, это с помощью следующей команды:
Это удаляет все содержимое файла, и оставляет вас с пустым файлом без необходимости открывать его в редакторе, выбирать текст, любой из этого материала. Точнее, он заменяет содержимое файла содержимым «/ dev / null» или ничего. Это довольно гладко, на самом деле.
Единственное предостережение заключается в том, что пользователь, к которому вы сейчас подключены, должен иметь разрешение на запись в указанный файл.
источник
Если файл был создан с именем hello.txt и был снабжен некоторыми текстами, то приведенная ниже команда в терминале ctrl+ alt+ tудалит весь текст в файле hello.txt ,
источник
Другой подход - к файлу
cp
/dev/null
источник
Не самый короткий ответ, но ...
Этот ответ основан на другом от Супер пользователя . Хотя это и не самая короткая команда bash,
truncate
она наиболее читаема для среднего новичка:Параметры, используемые
truncate
здесь с командой:Очистить все, кроме первых 10000 байт
Преимущество в
truncate
том, что вы можете указать, сколько оставить, а не только ноль:... обрежет все после первых 10 000 байтов. Это может быть полезно, если программа сошла с ума и сбросила много мегабайт данных в небольшой файл журнала:
truncate
команду для нормального большего размера 10Kисточник
Итак, я вижу много перенаправлений, используемых для ответа на это;)
Немного другой подход с комбо: rm & touch
( да ... еще один чит! )
Таким образом, с помощью этой комбо- команды файл hello.txt не был открыт, и в конце концов у вас все еще есть файл hello.txt на его месте с очищенным содержимым. Так же, как вы хотели!
источник
работал лучше всего для меня из-за особого разрешения у него было
источник
vi
и что делают различные параметры и аргументы.