标题: [文本处理] 批处理如何删除某字符及其后面的字,再删除无汉字的行。[已解决] [打印本页]
作者: 每天几分 时间: 2015-3-4 13:31 标题: 批处理如何删除某字符及其后面的字,再删除无汉字的行。[已解决]
本帖最后由 每天几分 于 2015-3-4 22:26 编辑
额,描述可能不是那么准确,有一个字库文本文件是这样的- ……
- idxy 泷
- idy 汰 ~汏
- idyy ~汱 ~㳚
- ie 肖
- ieag ~湼
- iean ~濦
- ……
- taws ~築 ~衖 ~衖
- taww 筮
- tbyy ~彶
- tc 么
- tca 径
- tcaj ~笲
- tcb 笆
- tcce ~犙 ~穇 ~穇
- ……
复制代码
我想实现如下,请问该怎么处理?- ……
- idxy 泷
- idy 汰
- ie 肖
- ……
- taww 筮
- tc 么
- tca 径
- tcb 笆
- ……
复制代码
谢谢楼下3位朋友,很有用的批处理!
作者: 愤怒的CMD 时间: 2015-3-4 13:42
sed "s/~.*//g;/[\x80-\xFF]/!d" file
作者: pcl_test 时间: 2015-3-4 14:04
本帖最后由 pcl_test 于 2015-3-4 16:06 编辑
回复 1# 每天几分
字库的内容结构应该比较复杂,你的举例不是很好,可能有些情况没有提到- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('type "字库.txt"') do (
- for %%b in (%%a) do >>$ echo,%%b
- set s=
- for /f "delims=" %%c in ('findstr /v "^~" $') do set "s=!s!%%c "
- del $ 2>nul
- >>tmp echo,!s:~,-1!
- )
- >字库2.txt findstr /c:" " tmp
- del tmp 2>nul
- pause
复制代码
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('type "字库.txt"') do (
- set s=
- for %%b in (%%a) do (
- set "str=%%b"
- if not "!str:~,1!" == "~" set "s=!s!%%b "
- )
- >>$ echo,!s:~,-1!
- )
- >字库2.txt findstr /c:" " $
- del $ 2>nul
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |