Board logo

标题: [文本处理] 【已解决】第三方工具:如何删除每行数据尾部的空格 [打印本页]

作者: 思想之翼    时间: 2023-9-30 04:27     标题: 【已解决】第三方工具:如何删除每行数据尾部的空格

本帖最后由 思想之翼 于 2023-9-30 11:21 编辑

文件记录格式如下:
000(空格)001(空格)
008(空格)009(空格)009(空格)
000(空格)

如何用第三方工具,删除每行数据尾部的空格?

结果为:
000(空格)001
008(空格)009(空格)009
000
作者: pd1    时间: 2023-9-30 07:34

powershell
  1. ((gc .\1.txt) -replace '[ ]+$',"")>2.txt
复制代码

作者: Five66    时间: 2023-9-30 08:10

半bat
记录文件编码gbk
  1. @if (0)/*==(0)/* echo off
  2. type "aaa.txt" | cscript //nologo //e:jscript "%~f0" >bbb.txt
  3. pause&exit/b
  4. rem */@end
  5. var s;
  6. while (!WScript.StdIn.AtEndOfStream) {
  7. s=WScript.StdIn.ReadLine();
  8. if(!s){WScript.Echo(s);}
  9. else {WScript.Echo(s.replace(/  *$/,''));}
  10. }
复制代码

作者: Batcher    时间: 2023-9-30 09:02

回复 1# 思想之翼


http://bcn.bathome.net/s/tool/index.html?key=sed
  1. sed -r "s/ +$//" 1.txt > 2.txt
复制代码

作者: qixiaobin0715    时间: 2023-9-30 10:41

不用第三方试试,不过不是太严谨,文本中不能有字符“./\”出现,否则会有干扰:
  1. @echo off
  2. (for /f "delims=" %%i in (1.txt) do (
  3.     set "str1=%%i"
  4.     setlocal enabledelayedexpansion
  5.     set "str1=!str1: =.!"
  6.     for /f "delims=" %%j in ("!str1!") do (
  7.         set "str2=%%~nj%%~xj"
  8.         echo,!str2:.= !
  9.     )
  10.     endlocal
  11. ))>2.txt
  12. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2