中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 23:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 提取txt中单词 请教达人啊 查看 716 回复 6
楼 主 提取txt中单词 请教达人啊 发表于 2007-12-23 15:52 ·  中国 辽宁 大连 电信
初级用户
积分 22
发帖 7
注册 2007-09-29 22:17
18年会员
UID 98597
性别 男
状态 离线
现有txt 格式如下
xdf k aa
kk a sfsf
ccc uud
ksds c sef
...
..
我想提取所有前面的单词到一个txt里 也就是
xdf
kk
ccc
ksds
.
最后的单词到另外一个txt里,也就是
aa
sfsf
uud
sef
.
该怎么做
请教达人啊

[ Last edited by fanvy on 2007-12-23 at 04:41 PM ]
2 发表于 2007-12-23 16:19 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
set SrcFile=C:\a.txt
set DstFirst=C:\b.txt
set DstLast=C:\c.txt

type nul>"%DstFirst%"
type nul>"%DstLast%"
for /f "tokens=1-3 delims= " %%a in ('findstr .* "%SrcFile%"') do (
echo %%a>>"%DstFirst%"
echo %%c>>"%DstLast%"
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
fanvy +1 2007-12-23 16:35
3 发表于 2007-12-23 16:36 ·  中国 辽宁 大连 电信
初级用户
积分 22
发帖 7
注册 2007-09-29 22:17
18年会员
UID 98597
性别 男
状态 离线
楼上的朋友 我更新了 你的方法还不能完美解决 请重新看一下 谢了;););)

[ Last edited by fanvy on 2007-12-23 at 04:43 PM ]
4 发表于 2007-12-23 17:21 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
有些行是两个单词??有些是三个??

检测一下第三个变量是否已定义,然后再决定写入第二还是第三个

如果第三个不存在,就写入第二个吧
5 发表于 2007-12-23 17:34 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
if 存在第三个写入 不存在写入第二个
我也这么想
简单!简单!再简单!
6 发表于 2007-12-23 19:34 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
gawk "{print $1>\"first.txt\";print $NF>\"last.txt\"}" a.txt
@echo off&setlocal
for /f "delims=" %%a in (a.txt) do (
for %%b in (%%a) do (
if not defined batch (echo\%%b>>first.txt & set batch=cn-dos) else (set word=%%b)
)
set batch=
if defined word call echo\%%word%%>>last.txt
)
@echo off& setlocal enabledelayedexpansion
for /f "tokens=1*" %%a in (a.txt) do (
echo\%%a>>first.txt
for %%c in (%%b) do set last=%%c
echo\!last!>>last.txt
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
fanvy +1 2007-12-23 20:28
7 发表于 2007-12-23 20:28 ·  中国 辽宁 大连 电信
初级用户
积分 22
发帖 7
注册 2007-09-29 22:17
18年会员
UID 98597
性别 男
状态 离线
楼上的大牛 呵呵 谢了
论坛跳转: