3个回答
展开全部
@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文件同目录下双击运行即可。。。
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然后再回车,以此类推
展开全部
linux命令(Windows下可以安装一个git):
find *.txt |xargs sed -i '1d'
批量删除文件夹中所有的txt文件的第一行。
我掐指一算,这是你需要的,一行命令解你的问题。
删除最后一行:sed -i '$d'
find *.txt |xargs sed -i '1d'
批量删除文件夹中所有的txt文件的第一行。
我掐指一算,这是你需要的,一行命令解你的问题。
删除最后一行:sed -i '$d'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
renwu
追问
什么意思??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询