问题描述
如何清除文本文件中存在的文本而不打开它?
我的意思是,例如我有一个文件作为hello.txt,其中包含一些文本数据&如何清除该文件中的总文本而不打开它。
最佳解决办法
只需使用CTRL
+ ALT
+ T
打开终端并输入
> hello.txt
就是这样,你的文件中的数据将被清除,甚至打开它。
例:
次佳解决办法
截断文件的最简单方法是将shell no-op命令(:
)的输出重定向到要擦除的文件。
: > hello.txt
第三种解决办法
我也将使用rajagenupula的答案重定向。但是有一点灵活性。打开终端并输入,
cat > hello.txt
然后按Ctrl
+ C
。它将清除以前的文件。如果你想要这么多,那就好了。
如果您希望在擦除文件后可以执行更多操作。通过这种方式,您不仅可以在不打开的情况下擦除文件,还可以在文件中编写一些格式正确的行。假设您希望在擦除文件后写“Ubuntu是最好的操作系统”,就这样做
cat > hello.txt
Ubuntu is the
best OS
然后按Ctrl
+ C
。现在,以前的文件已被删除。与此同时,当我把它们放在两行时,单词就在那里。
看例子:
第四种办法
我必须一直使用日志文件。我找到的最简单的方法是使用以下命令:
cat /dev/null > hello.txt
这将删除文件内容的同一个,并为您留下一个空文件,而无需在编辑器中打开它,选择文本,任何这些东西。更具体地说,它的作用是用”/dev/null”的内容替换文件的内容,或者什么也没有。实际上它很漂亮。
唯一需要注意的是,您当前登录的用户必须具有对该文件的写入权限。
第五种办法
如果创建的文件名为hello.txt并且提供了一些文本,则终端ctrl
+ alt
+ t
中的以下命令将删除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:$