Board logo

标题: [文本处理] 批处理删除文本文件行尾的空格 [打印本页]

作者: alick    时间: 2022-4-23 16:16     标题: 批处理删除文本文件行尾的空格

各位老师:

如何用批处理删除文本文件行尾的空格(每行中,有的有2个空格,有的有3个空格,有的没有空格,要求只是清除行尾的空格):
如A.TXT内容为
第1行:12333空格12222空格
第2行:A333-k035空格
第3行:32213空格kkk
......


万分感谢!!!
作者: 5i365    时间: 2022-4-23 17:39

  1. #@&cls&powershell -nop "type '%~f0'|out-string|iex"&pause&exit
  2. gc a.txt | % { $_.trimend() } > ok.txt
复制代码

作者: alick    时间: 2022-4-23 17:47

回复 2# 5i365
老师!

第1行:12333空格12222
第2行:A333-k035
第3行:32213空格kkk
......

接下来,我想将空格前的内容删除,使之变成如下内容,批处理该如何处理呢?

处理后变成:
第1行:12222
第2行:A333-k035
第3行:kkk
......
作者: 5i365    时间: 2022-4-23 18:21

回复 3# alick


   
  1. #@&cls&powershell -nop "type '%~f0'|out-string|iex"&pause&exit
  2. gc a.txt |
  3. % { $_.trimend() } |
  4. % {
  5. If ($_ -match '.+\s(.+)') { $matches[1] }
  6. else {$_}
  7. } |
  8. Out-File ok2.txt
复制代码

作者: alick    时间: 2022-4-23 19:51

本帖最后由 alick 于 2022-4-23 19:56 编辑

回复 4# 5i365

老师,太感谢了,完美!
作者: alick    时间: 2022-4-23 22:18

回复 4# 5i365

老师,生成的文件是UTF-16 LE格式,能生成UTF8格式吗?
作者: 5i365    时间: 2022-4-23 22:20

回复 6# alick

改最后那行为
   Out-File ok2.txt -enc utf8
作者: alick    时间: 2022-4-24 11:46

回复 7# 5i365
作者: waitfortea    时间: 2022-9-24 16:22

回复 4# 5i365


    这是poweshell的语法,还是Bat的语法啊,bat的有吗
作者: hfxiang    时间: 2022-9-24 17:51

可尝试用第3方工具sed( http://bcn.bathome.net/tool/4.8/sed.exe )将每一行拖尾的"空白字符"(空格,tab制表符)删除
  1. sed "s/[ \t]*$//" A.txt>B.txt
复制代码

作者: waitfortea    时间: 2022-9-24 18:40

回复 10# hfxiang


    sed命令详解哪里可以看
作者: hfxiang    时间: 2022-9-24 18:46

回复 11# waitfortea


    http://sed.sourceforge.net/sed1line_zh-CN.html
作者: waitfortea    时间: 2022-9-24 20:42

回复 12# hfxiang


    哭,话说没有单个符号的解释吗,都是一段符号堆在一起
作者: hfxiang    时间: 2022-9-25 07:26

回复 13# waitfortea


(只找到英文的)
http://web.deu.edu.tr/doc/oreily/unix/sedawk/index.htm




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