如何用命令行删除部分文件?
我尝试过以下方式使用sed:
c:\sed '1,2!d' res.txt > res.txt
但文件变空了
我期待得到的是
1 a
2 b
3 c
4 d
成为
1 a
2 b
在同一个文件res.txt
中答案 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