[英]How to remove lines from File A that are in File B in Windows command shell?
[英]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.