求批量删除 txt文档 某一行方法,比如我想批量删除一批txt文档的第二行和最后一行。

或者想删除第二,第三第四行等等。请告诉方法谢谢。

@echo off 2>nul 3>nul
SetLocal EnableDelayedExpansion
set/p v=指定要删除的行号(^和$可表示第一行和最后一行),若指定多行请用空格隔开(如:2 5 8):
for %%i in (%v%) do set "x=!x!%%id;"
sed -i "%x%" *.txt
pause

PS:先下载sed.exe放到system32目录中,然后把上面的代码保存为1.bat放到TXT文件同目录下双击运行即可。。。追问

我把你做的命令第三行设置成 V=2 (想删除一批文档的第二行),保存为1.bat放到TXT文件同目录下双击运行。结果出来一个对话框cmd.exe,里面出来一个“2”,但是文档都没删掉啊?怎么办,谢谢。 另外,你的第三行命令中 set/p v=指定要删除的行号(^和$可表示第一行和最后一行),若指定多行请用空格隔开(如:2 5 8): 最后的冒号要不要啊?

追答

不是你这样用的,上面的代码你什么都不要改,你只要保存为1.bat然后双击运行就好了,会出现提示的,提示的内容就是“指定要删除的行号(^和$可表示第一行和最后一行),若指定多行请用空格隔开(如:2 5 8):”,这个仅仅是提示你怎么输入而已,你只要输入要删除的行的具体数字就好了,比如要删除第2行,那直接输入2然后回车,比如要删除第5行和第8行,那就输入5然后空格然后再8然后再回车,以此类推

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-15
linux命令(Windows下可以安装一个git):
find *.txt |xargs sed -i '1d'
批量删除文件夹中所有的txt文件的第一行。
我掐指一算,这是你需要的,一行命令解你的问题。
删除最后一行:sed -i '$d'
第2个回答  2011-10-11
renwu追问

什么意思??

相似回答