如何创建一个批处理文件,从名为 list.txt 的 txt 文件的每一行中删除最后两个字符
问问题
3629 次
4 回答
3
@echo off &setlocal
(for /f "delims=" %%a in (list.txt) do (
set "line=%%a"
setlocal enabledelayedexpansion
set "line=!line:~0,-2!"
echo(!line!
endlocal
))>list.txt.new
您还可以在 Windows 上使用 sed:
sed "s/..$//" list.txt>list.txt.new
于 2013-08-29T09:34:22.703 回答
2
使用名为REPL.BAT的混合 JScript/批处理实用程序
type list.txt | repl ..$ "" >list.txt.new
如果你想覆盖原来的,然后添加这个命令
move /y list.txt.new list.txt >nul
于 2013-08-29T16:13:31.503 回答
0
基本上,您获取您读取的字符串的子字符串。
set str=politic
echo.%str%
set str=%str:~0,4%
echo.%str%
由于您无法覆盖文件本身,因此只需复制原始文件即可。使用上述方法将新字符串写入其中以更改它们。然后用新文件替换旧文件。有关详细信息,请查看以下链接 Batch / Find And Edit Lines in TXT file
于 2013-08-29T09:19:33.380 回答
0
我只是想这样做,但有一个cut
实现。我在这里添加它以防有人也想要它。
rev list.txt | cut --complement -c -2 | rev >> new_list.txt
于 2021-10-19T15:24:18.030 回答