找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33644|回复: 8

[文本处理] [已解决]批处理怎样删除/去掉txt文本每行最后一个字符?

[复制链接]
发表于 2010-4-5 01:12:28 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-6-7 08:10 编辑

如题:
a.txt内容
aaa-
aaa-bbb-

处理结果
b.txt
aaa
aaa-bbb

[ 本帖最后由 daohe 于 2010-4-5 22:37 编辑 ]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2010-4-5 05:50:02 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (a.txt) do (
  4. set str=%%i
  5. set str=!str~0,-1!
  6. call echo %%str%% >>b.txt
  7. )
复制代码
发表于 2010-4-5 07:08:30 | 显示全部楼层
请问tokens=delims 是什么意思哇
发表于 2010-4-5 09:02:41 | 显示全部楼层
书写错误,没啥意思
嘿嘿
发表于 2010-4-5 10:16:24 | 显示全部楼层
  1. sed "s/.$//" a.txt >b.txt
复制代码
 楼主| 发表于 2010-4-5 15:37:56 | 显示全部楼层

回复 2楼 的帖子

2楼测试结果

b.txt
ECHO 处于关闭状态。
ECHO 处于关闭状态。
 楼主| 发表于 2010-4-5 15:39:25 | 显示全部楼层

回复 5楼 的帖子

5楼测试结果

功能实现

b,txt首行出现
Invalid keyboard code specified
发表于 2010-4-5 15:52:57 | 显示全部楼层
原帖由 daohe 于 2010-4-5 15:37 发表
2楼测试结果

b.txt
ECHO 处于关闭状态。
ECHO 处于关闭状态。

2楼的代码少打了个冒号

在文本中不含敏感字符的情况下,可以:
  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do set s=%%i&>>b.txt call echo %%s:~0,-1%%
复制代码

评分

参与人数 1PB +3 收起 理由
Batcher + 3 乐于助人

查看全部评分

发表于 2010-4-5 16:14:30 | 显示全部楼层
  1. sed -i "s/.$//" a.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:20 , Processed in 0.011331 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表