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

时间:2014-06-18 09:55:55

标签: windows command-line sed cmd

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

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

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

但文件变空了

我期待得到的是

  1 a
  2 b
  3 c
  4 d

成为

 1 a
 2 b

在同一个文件res.txt

2 个答案:

答案 0 :(得分:1)

试着致电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

答案 1 :(得分:1)

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

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