24小时热门版块排行榜    

查看: 1826  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mzlwait

木虫 (正式写手)

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

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

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的回帖
查看全部 13 个回答

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的回帖

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的回帖
信息提示
请填处理意见