Как очистить текст в файле?

Как очистить текст, который существовал в текстовом файле, не открывая его?

Я имею в виду, например, у меня есть файл hello.txt с некоторыми текстовыми данными в нем и как я могу очистить весь текст в этом файле , не открывая его.

72
задан 13 December 2013 в 14:05

9 ответов

Просто откройте свой терминал с помощью CTRL + ALT + T и введите как

 > hello.txt

вот оно, ваш данные в этом файле будут очищены без его открытия.

Пример:

enter image description here

0
ответ дан 13 December 2013 в 14:05

Самый простой способ - обрезать файл - перенаправить вывод команды shell no-op (:) в файл, который вы хотите стереть.

: > hello.txt
0
ответ дан 13 December 2013 в 14:05
  • 1
    Я установил набор reg, но движения к DE. Существуют те же правила для моей страны (RO) и DE.. Соединение более стабильно, так как я установил код reg. О моем AP: it' s RT-AC68U Asus. I' m на режиме AC (5 ГГц, AES enc, 80 МГц bandwitdth) – Radu Gancea 10 June 2015 в 08:13

Я также собираюсь использовать перенаправление как ответ Раджагенупулы. Но есть немного больше гибкости. Откройте терминал и введите

cat > hello.txt

и нажмите Ctrl + C . Это сотрет предыдущий файл. Если вы хотите до этого много, это хорошо.

Если вы хотите, вы можете сделать что-то еще после стирания файла. Таким образом, вы можете не только стереть файл без открытия, но и написать несколько строк с правильным форматированием в файле. Скажем, вы хотите написать «Ubuntu - лучшая ОС» после очистки файла, просто сделайте

cat > hello.txt
Ubuntu is the 
best OS

Затем нажмите Ctrl + C . Теперь предыдущий файл уничтожен. В то же время слова заключены в две строки, как я их поставил.

См. Пример:

enter image description here

0
ответ дан 13 December 2013 в 14:05

Я должен делать это все время с файлами журналов. Самый простой способ, который я нашел, это с помощью следующей команды:

cat /dev/null > hello.txt

Это удаляет все содержимое файла и оставляет вас с пустым файлом без необходимости открывать его в редакторе, выбрать текст, любой из этого материала. Точнее, он заменяет содержимое файла содержимым «/ dev / null» или ничего. На самом деле это довольно гладко.

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

0
ответ дан 13 December 2013 в 14:05

Если файл был создан с именем hello.txt и был снабжен некоторыми текстами, то приведенная ниже команда в терминале ctrl + alt + t удалит весь текст из файла hello.txt ,

echo "" > hello.txt

enter image description here

0
ответ дан 13 December 2013 в 14:05

Другой подход - 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:$ 
0
ответ дан 13 December 2013 в 14:05
  • 1
    man mount вероятно, не непосредственно полезно здесь, начиная с него doesn' t имеют ntfs-3g раздел. – Bruno 7 June 2015 в 18:31

Не самый короткий ответ, но ...

Этот ответ основан на другом из Суперпользователя . Хотя это и не самая короткая команда 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:

  • "- s" set размер
  • «0» будет равен нулю

Очистить все, кроме первых 10000 байт

Преимущество truncate заключается в том, что вы можете указать, сколько сохранить , а не только ноль:

$ truncate -s 10000 Hello.txt

... будет обрезать все после первых 10 000 байтов. Это может быть полезно, если программа сошла с ума и сбросила много мегабайт данных в небольшой файл журнала:

  • Запустите команду truncate для приемлемого большего нормального размера - 10 КБ
  • Откройте файл в текстовом редакторе и нажмите End
  • Выделите и PgUp , чтобы удалить оставшиеся байты, которые не принадлежат (обычно распознаваемые символами мусора ASCII ).
0
ответ дан 13 December 2013 в 14:05

Итак, я вижу много перенаправлений, используемых для ответа на это;)

Несколько иной подход с комбо: rm & amp; коснитесь

rm hello.txt && touch hello.txt

( да ... еще один чит! )

Так с этой комбо-командой файл hello.txt не был открыт , и, в конце концов, на его месте все еще есть файл hello.txt с очищенным содержимым. Так же, как вы хотели!

0
ответ дан 13 December 2013 в 14:05
vi filename -c ':1,$d' -c ':wq'

работал лучше всего для меня из-за конкретного разрешения, которое он имел

0
ответ дан 13 December 2013 в 14:05

Другие вопросы по тегам:

Похожие вопросы: