24小时热门版块排行榜    

查看: 1954  |  回复: 12

mzlwait

木虫 (正式写手)

[求助] 数据批处理语言求教,急....... 已有4人参与

我有许多数据TXT文件,我想从各个文件中寻找特定的数值,所有TXT文件中格式为:
11 22
33 44
55 66
77 88
.....
我想做的是利用批处理找出所有文档里面55后面的”66“这个数据,并以列的方式把“66”这个数据显示在新的TXT中。
求各位虫友帮忙,若如成功金币翻倍.谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

zeppe

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
假设你在linux环境下。
假设所需处理的txt文件都在当前目录下,且没有别的txt文件。
则可以用以下命令
ls *.txt | xargs awk '$1==55{print $2}' > after55.dat

ls *.txt | xargs sed -n 's/55 \(.*\)/\1/p' > after55.dat

希望对你有帮助。
4楼2015-08-28 09:14:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

假设你在windows环境下
假设所需处理的txt文件都在当前目录下,且都是你例子格式。
则可以写一个文件名为"test.bat",内容为
@echo off
for /r %%s in (*.txt) do (
  for /f "tokens=1,2" %%a in (%%s) do (
    if %%a==55 echo %%b >> after55.dat
  )
)
在命令行中转到当前目录,运行 test.bat 即可,结果在after55.dat中。

» 本帖已获得的红花(最新10朵)

5楼2015-08-28 10:03:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你用sort把数据按第一列排序, 找到55的行就是了
再不行就用awk吧
2楼2015-08-27 21:13:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

matlab编程

禁虫 (小有名气)

感谢参与,应助指数 +1
本帖内容被屏蔽

3楼2015-08-27 23:56:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fivegod

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
在所有环境下,把数据重定向到excel里,然后查找或者排序,简单,完美

[ 发自手机版 http://muchong.com/3g ]
6楼2015-08-29 00:41:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mzlwait

木虫 (正式写手)

送红花一朵
引用回帖:
5楼: Originally posted by zeppe at 2015-08-28 10:03:26
假设你在windows环境下
假设所需处理的txt文件都在当前目录下,且都是你例子格式。
则可以写一个文件名为"test.bat",内容为
echo off
for /r %%s in (*.txt) do (
  for /f "tokens=1,2" ...

首先表示感谢,但是还有一个问题就是,出来的数据顺序不对,该怎么解决呢
7楼2015-08-29 15:27:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

引用回帖:
7楼: Originally posted by mzlwait at 2015-08-29 15:27:19
首先表示感谢,但是还有一个问题就是,出来的数据顺序不对,该怎么解决呢...

顺序不对是指什么?你期望的输出是按什么顺序?
方便的话最好给出几个例子文件用于测试。
8楼2015-08-29 21:33:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmclin

金虫 (正式写手)

引用回帖:
8楼: Originally posted by zeppe at 2015-08-29 21:33:57
顺序不对是指什么?你期望的输出是按什么顺序?
方便的话最好给出几个例子文件用于测试。...

他说的应该是因为文件名称排序引起的
比如,以数值命名,电脑在读文件的时候先读1.txt,然后是11.txt.而不是2.txt,我也经常遇到这个问题,不知有什么高招
9楼2015-08-29 23:48:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

潇湘书生

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by xmclin at 2015-08-29 23:48:18
他说的应该是因为文件名称排序引起的
比如,以数值命名,电脑在读文件的时候先读1.txt,然后是11.txt.而不是2.txt,我也经常遇到这个问题,不知有什么高招...

这种数字的顺序也好搞啊,你认为定一个number,每次让电脑读入number.txt,然后number递增就行了嘛

处理这种有规则的文件,如果量不大,且规则明确,容易抽取的就用awk来做,如果内部逻辑判断很多,很烦,那就用python去写脚本,干这种文本处理的活,python最适合了,简单又容易上手
10楼2015-08-30 00:20:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mzlwait 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工求调剂 +4 为学666 2026-03-16 4/200 2026-03-17 14:28 by houyaoxu
[考研] 301求调剂 +3 yy要上岸呀 2026-03-17 3/150 2026-03-17 14:04 by laoshidan
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[硕博家园] 深圳大学硕士招生(2026秋,传感器方向,仅录取第一志愿) +4 xujiaoszu 2026-03-11 9/450 2026-03-17 10:29 by xujiaoszu
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 278求调剂 +3 Yy7400 2026-03-13 3/150 2026-03-17 08:24 by laoshidan
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 311求调剂 +5 26研0 2026-03-15 5/250 2026-03-16 16:21 by a不易
[考研] 326求调剂 +4 上岸的小葡 2026-03-15 5/250 2026-03-16 08:39 by Linda Hu
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[考研] 331求调剂(0703有机化学 +5 ZY-05 2026-03-13 6/300 2026-03-14 10:51 by Jy?
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 336求调剂 +6 Iuruoh 2026-03-11 6/300 2026-03-13 22:06 by JourneyLucky
[考研] 329求调剂 +3 miaodesi 2026-03-12 4/200 2026-03-13 20:53 by 18595523086
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 277求调剂 +4 anchor17 2026-03-12 4/200 2026-03-13 11:15 by 白夜悠长
信息提示
请填处理意见