Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 使用sed删除文件的所有内容_Unix_Sed_Empty List - Fatal编程技术网

Unix 使用sed删除文件的所有内容

Unix 使用sed删除文件的所有内容,unix,sed,empty-list,Unix,Sed,Empty List,我想使用sed命令清空文件。我搜索了很多论坛和教程。无法删除文件的所有内容。如何使用sed命令删除文件的所有内容 这似乎是一个奇怪的请求。无论如何,这是一种方式: sed -i '/^/d' file sed-i执行就地更换 /^/匹配行,在本例中,所有行都匹配,因为^表示“行的开头” /d删除它们 或更短(一如既往): 试试这个sed。它将删除所有 sed -ni '' file n如果未被告知,请勿打印。 i到位。 由于没有给出任何代码,文件将被替换为零。您不需要使用sed。要清空文

我想使用sed命令清空文件。我搜索了很多论坛和教程。无法删除文件的所有内容。如何使用sed命令删除文件的所有内容

这似乎是一个奇怪的请求。无论如何,这是一种方式:

sed -i '/^/d' file
  • sed-i
    执行就地更换
  • /^/
    匹配行,在本例中,所有行都匹配,因为
    ^
    表示“行的开头”
  • /d
    删除它们
或更短(一如既往):


试试这个
sed
。它将删除所有

sed -ni '' file
n
如果未被告知,请勿打印。
i
到位。

由于没有给出任何代码,文件将被替换为零。

您不需要使用sed。要清空文件,请执行以下操作:

> filename

如果没有命令,重定向将截断文件。

感谢您的回复:)请记住,您可以将此答案或其他答案标记为已接受,以表明问题已解决!你不需要提供地址。删除每一行:
sed文件
Oh,我不知道。非常感谢,@glennjackman(我也同意最好的方法是
>文件
,但正如OP提到的
sed
。)为什么我不能使用sed在空文件中添加一行?我在清空文件后尝试了这个。但它不起作用。sed-i'$a\这是测试行'test1.txt
sed
并不是最好的方法,@SmithDwayne。相反,您可以执行
echo>file
。我应该在c中使用system()函数来使用它吗?什么?你到底为什么不使用?仅仅为了截断一个文件而启动shell似乎是完全浪费的。嗨,这不仅仅是为了截断文件。我希望使用已经构建的unix系统调用来处理文件操作问题,而不是编写自己的c代码。例如,要复制一个文件,我可以使用系统命令调用cp unix call。我真的不知道哪种方法能有效地处理文件。现在我只是在练习这些东西是如何通过c程序工作的。我知道你在学习和实验。但是,如果要使用这些shell命令,请编写shell脚本。如果您是用C编写代码,请学习所需的C函数。生成shell并调用本身在C中实现的命令行命令是最低效的。这都是开源的,所以请了解它们是如何实现的。在哪里可以找到unix系统调用命令的源代码。我已经在sourceforge.net上看过了。但我找不到我所寻找的解决方案。如果你告诉我找到和阅读密码的路线,这对我的携带者来说将是一件好事。感谢您对答案的评论,告诉我们许多您没有在问题中提出的细节。请告诉我们你真的在努力。
> filename