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