[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何删除某字符及其后面的字,再删除无汉字的行。[已解决]

本帖最后由 每天几分 于 2015-3-4 22:26 编辑

额,描述可能不是那么准确,有一个字库文本文件是这样的
  1. ……
  2. idxy 泷
  3. idy 汰 ~汏
  4. idyy ~汱 ~㳚
  5. ie 肖
  6. ieag ~湼
  7. iean ~濦
  8. ……
  9. taws ~築 ~衖 ~衖
  10. taww 筮
  11. tbyy ~彶
  12. tc 么
  13. tca 径
  14. tcaj ~笲
  15. tcb 笆
  16. tcce ~犙 ~穇 ~穇
  17. ……
复制代码
我想实现如下,请问该怎么处理?
  1. ……
  2. idxy 泷
  3. idy 汰
  4. ie 肖
  5. ……
  6. taww 筮
  7. tc 么
  8. tca 径
  9. tcb 笆
  10. ……
复制代码
谢谢楼下3位朋友,很有用的批处理!

本帖最后由 pcl_test 于 2015-3-4 16:06 编辑

回复 1# 每天几分
字库的内容结构应该比较复杂,你的举例不是很好,可能有些情况没有提到
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type "字库.txt"') do (
  4. for %%b in (%%a) do >>$ echo,%%b
  5. set s=
  6. for /f "delims=" %%c in ('findstr /v "^~" $') do set "s=!s!%%c "
  7. del $ 2>nul
  8. >>tmp echo,!s:~,-1!
  9. )
  10. >字库2.txt findstr /c:" " tmp
  11. del tmp 2>nul
  12. pause
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type "字库.txt"') do (
  4. set s=
  5. for %%b in (%%a) do (
  6. set "str=%%b"
  7. if not "!str:~,1!" == "~" set "s=!s!%%b "
  8. )
  9. >>$ echo,!s:~,-1!
  10. )
  11. >字库2.txt findstr /c:" " $
  12. del $ 2>nul
  13. pause
复制代码
1

评分人数

TOP

sed "s/~.*//g;/[\x80-\xFF]/!d" file

TOP

返回列表