繁体   English   中英

如何使用命令行从文件中删除行?

[英]how can I remove lines from file using command line?

如何使用命令行删除文件的一部分?

我尝试通过以下方式使用sed:

c:\sed '1,2!d' res.txt > res.txt

但是文件变为空

我期望得到的是

  1 a
  2 b
  3 c
  4 d

成为

 1 a
 2 b

在同一文件中res.txt

只需尝试调用c:\\sed '1,2!d' res.txt 您会看到正确的结果:

  1 a
  2 b

因此,您不能使用相同的文件进行输入和输出。 您可以使用其他文件并在其后移动/复制: c:\\sed '1,2!d' res.txt > res.tmp & move /y res.tmp res.txt

-i--in-place开关添加到sed以读取和写入相同的文件。 此外,Windows命令行使用双引号。 所以你应该使用

sed -i "1,2!d" res.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM