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

46

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

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

    
задан Ten-Coin 13.12.2013 в 11:05
источник

7 ответов

93

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

 > hello.txt

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

Пример:

    
ответ дан Ten-Coin 13.12.2013 в 11:06
источник
15

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

: > hello.txt
    
ответ дан eradman 15.11.2015 в 02:43
10

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

cat > hello.txt

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

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

cat > hello.txt
Ubuntu is the 
best OS

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

См. пример:

    
ответ дан souravc 13.12.2013 в 11:20
8

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

cat /dev/null > hello.txt

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

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

    
ответ дан Don Briggs 13.12.2013 в 18:15
5

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

echo "" > hello.txt

    
ответ дан Avinash Raj 13.12.2013 в 11:20
2

Другой подход - 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:$ 
    
ответ дан Sergiy Kolodyazhnyy 15.11.2015 в 02:53
0

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

Немного другой подход с комбо: rm & amp; нажмите

rm hello.txt && touch hello.txt

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

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

    
ответ дан precise 27.12.2013 в 20:33