Просто откройте свой терминал с помощью CTRL kbd> + ALT kbd> + T kbd> и введите как
> hello.txt
вот оно, ваш данные в этом файле будут очищены без его открытия.
Пример:
vi filename -c ':1,$d' -c ':wq'
работал лучше всего для меня из-за конкретного разрешения, которое он имел
vi
и что делают различные параметры и аргументы.
– vedran
27.04.2020, 23:38
Если файл был создан с именем hello.txt и был снабжен некоторыми текстами, то приведенная ниже команда в терминале ctrl kbd> + alt kbd> + t kbd> удалит весь текст из файла hello.txt ,
echo "" > hello.txt
Другой подход - cp
/dev/null
к файлу
xieerqi:$ cat testFile.txt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 115247656 83100492 26269816 76% /
none 4 0 4 0% /sys/fs/cgroup
udev 2914492 4 2914488 1% /dev
tmpfs 585216 1152 584064 1% /run
none 5120 0 5120 0% /run/lock
none 2926072 98096 2827976 4% /run/shm
none 102400 76 102324 1% /run/user
xieerqi:$ cp /dev/null testFile.txt
xieerqi:$ cat testFile.txt
xieerqi:$
Итак, я вижу много перенаправлений, используемых для ответа на это;)
Несколько иной подход с комбо: rm & amp; коснитесь
rm hello.txt && touch hello.txt
( да ... еще один чит! ) sup>
Так с этой комбо-командой файл hello.txt не был открыт , и, в конце концов, на его месте все еще есть файл hello.txt с очищенным содержимым. Так же, как вы хотели!
Я также собираюсь использовать перенаправление как ответ Раджагенупулы. Но есть немного больше гибкости. Откройте терминал и введите
cat > hello.txt
и нажмите Ctrl kbd> + C kbd>. Это сотрет предыдущий файл. Если вы хотите до этого много, это хорошо.
Если вы хотите, вы можете сделать что-то еще после стирания файла. Таким образом, вы можете не только стереть файл без открытия, но и написать несколько строк с правильным форматированием в файле. Скажем, вы хотите написать «Ubuntu - лучшая ОС» после очистки файла, просто сделайте
cat > hello.txt
Ubuntu is the
best OS
Затем нажмите Ctrl kbd> + C kbd>. Теперь предыдущий файл уничтожен. В то же время слова заключены в две строки, как я их поставил.
См. Пример:
>
обозначает перенаправление. cat > file
запишет stdout
для регистрации, перезаписывая любой существующий файл.
– Dragon Energy
27.04.2020, 23:42
Я также собираюсь использовать перенаправление как ответ Раджагенупулы. Но есть немного больше гибкости. Откройте терминал и введите
cat > hello.txt
и нажмите Ctrl kbd> + C kbd>. Это сотрет предыдущий файл. Если вы хотите до этого много, это хорошо.
Если вы хотите, вы можете сделать что-то еще после стирания файла. Таким образом, вы можете не только стереть файл без открытия, но и написать несколько строк с правильным форматированием в файле. Скажем, вы хотите написать «Ubuntu - лучшая ОС» после очистки файла, просто сделайте
cat > hello.txt
Ubuntu is the
best OS
Затем нажмите Ctrl kbd> + C kbd>. Теперь предыдущий файл уничтожен. В то же время слова заключены в две строки, как я их поставил.
См. Пример:
Я должен делать это все время с файлами журналов. Самый простой способ, который я нашел, это с помощью следующей команды:
cat /dev/null > hello.txt
Это удаляет все содержимое файла и оставляет вас с пустым файлом без необходимости открывать его в редакторе, выбрать текст, любой из этого материала. Точнее, он заменяет содержимое файла содержимым «/ dev / null» или ничего. На самом деле это довольно гладко.
Единственное предостережение заключается в том, что пользователь, к которому вы сейчас подключены, должен иметь разрешение на запись в указанный файл.
Самый простой способ - обрезать файл - перенаправить вывод команды shell no-op (:
) в файл, который вы хотите стереть.
: > hello.txt
>
), но самое быстрое наверняка.. я задаюсь вопросом, почему это не было упомянуто ни в одном из ответов этого высоко просматриваемого вопроса.. здесь, возьмите +1..
– SergeyA
27.04.2020, 23:42
Этот ответ основан на другом из Суперпользователя . Хотя это и не самая короткая команда bash, truncate
является наиболее читаемой для средних новичков:
$ echo Hello > Hello.txt
$ echo World! >> Hello.txt
$ cat Hello.txt
Hello
World!
$ truncate -s 0 Hello.txt
$ ll Hello.txt
-rw-rw-r-- 1 rick rick 0 Mar 20 17:32 Hello.txt
Параметры, используемые здесь с командой truncate
:
Преимущество truncate
заключается в том, что вы можете указать, сколько сохранить , а не только ноль:
$ truncate -s 10000 Hello.txt
... будет обрезать все после первых 10 000 байтов. Это может быть полезно, если программа сошла с ума и сбросила много мегабайт данных в небольшой файл журнала:
truncate
для приемлемого большего нормального размера - 10 КБ
stdout
перезаписи существующий файл если таковые имеются. В этом случае нет ничего вstdout
. Таким образом, файл перезаписывается с пустым, по существу вытирающими предыдущими данными если таковые имеются. – Chris Schiffhauer 27.04.2020, 23:41