中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理取指定字符串后的数字?
作者:
标题: [求助]批处理取指定字符串后的数字? 上一主题 | 下一主题
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『楼 主』:  [求助]批处理取指定字符串后的数字?

我有一系列txt文件如log_POTANN.txt,log_STE.txt,log_CDE.txt等等
每个log_***.txt文件的格式类似,都含有以下内容:

举例 log_POTANN.txt文件:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Table POTANN, chargé à partir de chaque enregistrement physique.
xxxxxxxxxxxxxxxx
Table POTANN :
  Chargement réussi de 206108 Lignes.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :        206108
Nombre total d'enregistrements logiques rejetés :         0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Le début de l'exécution a été effectué sur Jeu. Avr.  26 11:38:25 2007
La fin de l'exécution a été effectuée sur Jeu. Avr.  26 11:38:34 2007
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxx处都是若干行不重要的信息

现在我需要编一个批处理,执行之后能成一个rlt1.txt文件只需要如下内容:

POTANN
0
206108
0
Avr.  26 11:38:25 2007
Avr.  26 11:38:25 2007

请教高手怎么编写?
其实目的是生成rlt1.txt文件,读取一系列log文件中的指定数据。即

POTANN
0
206108
0
Avr.  26 11:38:25 2007
Avr.  26 11:38:25 2007
STE
0
55555
0
Avr.  05 11:38:25 2006
Avr.  06 11:38:25 2006
CDE
0
123569
0
Avr.  05 11:38:25 2007
Avr.  16 11:38:25 2007
.........

再生成rlt2.txt文件,它与rlt1.txt内容一样,就是排列顺序不同,如下:
POTANN02061080Avr.  26 11:38:25 2007Avr.  26 11:38:25 2007
STE0555550Avr.  05 11:38:25 2006Avr.  06 11:38:25 2006
CDE01235690Avr.  05 11:38:25 2007Avr.  16 11:38:25 2007
.........

谢谢!

2007-5-23 18:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

这些问题还是用 sed & awk 解决吧!

2007-5-23 19:58
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

打包几个文件上来我测试吧.

2007-5-23 21:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 4 楼』:  

我不知道如何上传,这里好复杂,好像还要另外注册。我时间紧,就先把4个log的TXT文件内容copy过来。麻烦再copy到写字板。请指教!

Log_POTANN.txt


SQL*Loader: Release 10.2.0.1.0 - Production on Jeu. Avr. 26 11:38:25 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Fichier de contrôle :   Z:\Controle\POTANN.ctl
Fichier de données :      Z:\Data\POTANN.dat
  Fichier BAD :     Z:\Bad\Bad_POTANN.txt
  Fichier DISCARD :  aucune spécification

(Allouer tous les rebuts)

Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 0
Continuation :    aucune spécification
Chemin utilisé:      Direct

Table POTANN, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : TRUNCATE

   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
CODCLTETB                             1:8     8           CHARACTER            
CODRGC                               9:11     3           CHARACTER            
CODPRO                              12:17     6           CHARACTER            
CODART                              18:26     9           CHARACTER            
CODRGPPAY                           27:28     2           CHARACTER            
CODPAY                              29:31     3           CHARACTER            
CODDPT                              32:33     2           CHARACTER            
CODSCTAFF                           34:35     2           CHARACTER            
CODSCTTCH                           36:37     2           CHARACTER            
CODPRFSTH                           38:40     3           CHARACTER            
CODPRFINS                           41:45     5           CHARACTER            
CODSTE                              46:47     2           CHARACTER            
CODZONRSPCOM3                       48:51     4           CHARACTER            
DATANNPOT                           52:61    10           CHARACTER            
    chaîne SQL pour la colonne : "to_date(:DATANNPOT,'mm-dd-yyyy')"
CODCNC                              62:67     6           CHARACTER            
TGECNC                              68:85    18           CHARACTER            
CODTYPPROCOM1                       86:89     4           CHARACTER            
CODTYPPROCOM2                       90:93     4           CHARACTER            
CODTYPPROCOM3                       94:97     4           CHARACTER            
CODZONRSPCOM2                      98:101     4           CHARACTER            
CODZONRSPCOM1                     102:105     4           CHARACTER            
CODENT                            106:109     4           CHARACTER            
CODZONRSPGRP3                     110:113     4           CHARACTER            
CODZONRSPGRP2                     114:117     4           CHARACTER            
CODZONRSPGRP1                     118:121     4           CHARACTER            

Le ou les index suivants, dans la table POTANN, ont été traités :
index ROQUETTE.PK_POTANN rendu inutilisable pour la raison suivante :
ORA-01452: CREATE UNIQUE INDEX impossible ; il existe des doublons

Table POTANN :
  Chargement réussi de 206108 Lignes.
  0 Lignes chargement impossible dû à des erreurs de données.
  0 Lignes chargement impossible car échec de toutes les clauses WHEN.
  0 Lignes chargement impossible car tous les champs étaient non renseignés.

Taille du tableau de liens non utilisée dans le chemin direct.
Lignes de tableau de colonnes :    5000
Octets de tampon de flux de données :  256000
Octets de tampon de lecture : 1048576

Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :        206108
Nombre total d'enregistrements logiques rejetés :         0
Nombre total d'enregistrements logiques mis au rebut :        0
Nombre total de tampons de flux de données chargés par le thread principal de SQL*Loader :       54
Nombre total de tampons de flux de données chargés par le thread de chargement de SQL*Loader :       81

Le début de l'exécution a été effectué sur Jeu. Avr.  26 11:38:25 2007
La fin de l'exécution a été effectuée sur Jeu. Avr.  26 11:38:34 2007

Temps écoulé (ELAPSED) :     00:00:09.33
Temps processeur (CPU) :    00:00:02.06

——————————————————————————————————————

Log_AGN.txt



SQL*Loader: Release 10.2.0.1.0 - Production on Mer. Avr. 18 10:19:14 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Fichier de contrôle :   Z:\Controle\AGN.ctl
Fichier de données :      Z:\Data\AGN.dat
  Fichier BAD :     Z:\Bad\Bad_AGN.txt
  Fichier DISCARD :  aucune spécification

(Allouer tous les rebuts)

Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 0
Continuation :    aucune spécification
Chemin utilisé:      Direct

Table AGN, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : TRUNCATE

   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
CODAGN                                1:3     3           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODAGN,null,' ',:CODAGN)"
LIBAGN                               4:23    20           CHARACTER            

Le ou les index suivants, dans la table AGN, ont été traités :
index ROQUETTE.PK_AGN chargé correctement avec 1211 clés

Table AGN :
  Chargement réussi de 1211 Lignes.
  0 Lignes chargement impossible dû à des erreurs de données.
  0 Lignes chargement impossible car échec de toutes les clauses WHEN.
  0 Lignes chargement impossible car tous les champs étaient non renseignés.

Taille du tableau de liens non utilisée dans le chemin direct.
Lignes de tableau de colonnes :    5000
Octets de tampon de flux de données :  256000
Octets de tampon de lecture : 1048576

Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :          1211
Nombre total d'enregistrements logiques rejetés :         0
Nombre total d'enregistrements logiques mis au rebut :        0
Nombre total de tampons de flux de données chargés par le thread principal de SQL*Loader :        1
Nombre total de tampons de flux de données chargés par le thread de chargement de SQL*Loader :        0

Le début de l'exécution a été effectué sur Mer. Avr.  18 10:19:14 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 10:19:15 2007

Temps écoulé (ELAPSED) :     00:00:00.25
Temps processeur (CPU) :    00:00:00.11

——————————————————————————————————————

Log_ANN.txt



SQL*Loader: Release 10.2.0.1.0 - Production on Mer. Avr. 18 09:53:38 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Fichier de contrôle :   Z:\Controle\ANN.ctl
Fichier de données :      Z:\Data\ANN.dat
  Fichier BAD :     Z:\Bad\Bad_ANN.txt
  Fichier DISCARD :  aucune spécification

(Allouer tous les rebuts)

Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 0
Continuation :    aucune spécification
Chemin utilisé:      Direct

Table ANN, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : TRUNCATE

   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
CODANN                                1:4     4           CHARACTER            

Le ou les index suivants, dans la table ANN, ont été traités :
index ROQUETTE.PK_ANN chargé correctement avec 22 clés

Table ANN :
  Chargement réussi de 22 Lignes.
  0 Lignes chargement impossible dû à des erreurs de données.
  0 Lignes chargement impossible car échec de toutes les clauses WHEN.
  0 Lignes chargement impossible car tous les champs étaient non renseignés.

Taille du tableau de liens non utilisée dans le chemin direct.
Lignes de tableau de colonnes :    5000
Octets de tampon de flux de données :  256000
Octets de tampon de lecture : 1048576

Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :            22
Nombre total d'enregistrements logiques rejetés :         0
Nombre total d'enregistrements logiques mis au rebut :        0
Nombre total de tampons de flux de données chargés par le thread principal de SQL*Loader :        1
Nombre total de tampons de flux de données chargés par le thread de chargement de SQL*Loader :        0

Le début de l'exécution a été effectué sur Mer. Avr.  18 09:53:38 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 09:53:38 2007

Temps écoulé (ELAPSED) :     00:00:00.23
Temps processeur (CPU) :    00:00:00.16

——————————————————————————————————————

Log_BUDNVDANN.txt



SQL*Loader: Release 10.2.0.1.0 - Production on Mer. Avr. 18 09:54:09 2007

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Fichier de contrôle :   Z:\Controle\BUDNVDANN.ctl
Fichier de données :      Z:\Data\BUDNVDANN.dat
  Fichier BAD :     Z:\Bad\Bad_BUDNVDANN.txt
  Fichier DISCARD :  aucune spécification

(Allouer tous les rebuts)

Nombre à charger : ALL
Nombre à sauter: 0
Erreurs permises: 0
Continuation :    aucune spécification
Chemin utilisé:      Direct

Table BUDNVDANN, chargé à partir de chaque enregistrement physique.
Option d'insertion en vigueur pour cette table : TRUNCATE

   Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
------------------------------ ---------- ----- ---- ---- ---------------------
CODRGC                                1:3     3           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODRGC,null,' ',:CODRGC)"
CODPRO                                4:9     6           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODPRO,null,' ',:CODPRO)"
CODART                              10:18     9           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODART,null,' ',:CODART)"
CODRGPPAY                           19:20     2           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODRGPPAY,null,' ',:CODRGPPAY)"
CODPAY                              21:23     3           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODPAY,null,' ',:CODPAY)"
CODDPT                              24:25     2           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODDPT,null,' ',:CODDPT)"
CODSCTAFF                           26:27     2           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODSCTAFF,null,' ',:CODSCTAFF)"
CODSCTTCH                           28:29     2           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODSCTTCH,null,' ',:CODSCTTCH)"
CODPRFSTH                           30:32     3           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODPRFSTH,null,' ',:CODPRFSTH)"
CODPRFINS                           33:37     5           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODPRFINS,null,' ',:CODPRFINS)"
CODSTE                              38:39     2           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODSTE,null,' ',:CODSTE)"
CODZONRSPCOM3                       40:43     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODZONRSPCOM3,null,' ',:CODZONRSPCOM3)"
DATANNBUDNVD                        44:53    10           CHARACTER            
    chaîne SQL pour la colonne : "to_date(:DATANNBUDNVD,'mm-dd-yyyy')"
CODCENPRD                           54:54     1           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODCENPRD,null,' ',:CODCENPRD)"
TGEBUDNVD                           55:72    18           CHARACTER            
CODTYPPROCOM1                       73:76     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODTYPPROCOM1,null,' ',:CODTYPPROCOM1)"
CODTYPPROCOM2                       77:80     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODTYPPROCOM2,null,' ',:CODTYPPROCOM2)"
CODTYPPROCOM3                       81:84     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODTYPPROCOM3,null,' ',:CODTYPPROCOM3)"
CODZONRSPCOM2                       85:88     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODZONRSPCOM2,null,' ',:CODZONRSPCOM2)"
CODZONRSPCOM1                       89:92     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODZONRSPCOM1,null,' ',:CODZONRSPCOM1)"
CODENT                              93:96     4           CHARACTER            
    chaîne SQL pour la colonne : "decode(:CODENT,null,' ',:CODENT)"

Le ou les index suivants, dans la table BUDNVDANN, ont été traités :
index ROQUETTE.PK_BUDNVDANN chargé correctement avec 94 clés

Table BUDNVDANN :
  Chargement réussi de 94 Lignes.
  0 Lignes chargement impossible dû à des erreurs de données.
  0 Lignes chargement impossible car échec de toutes les clauses WHEN.
  0 Lignes chargement impossible car tous les champs étaient non renseignés.

Taille du tableau de liens non utilisée dans le chemin direct.
Lignes de tableau de colonnes :    5000
Octets de tampon de flux de données :  256000
Octets de tampon de lecture : 1048576

Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :            94
Nombre total d'enregistrements logiques rejetés :         0
Nombre total d'enregistrements logiques mis au rebut :        0
Nombre total de tampons de flux de données chargés par le thread principal de SQL*Loader :        1
Nombre total de tampons de flux de données chargés par le thread de chargement de SQL*Loader :        0

Le début de l'exécution a été effectué sur Mer. Avr.  18 09:54:09 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 09:54:09 2007

Temps écoulé (ELAPSED) :     00:00:00.59
Temps processeur (CPU) :    00:00:00.13

[ Last edited by elsiezhou on 2007-5-24 at 03:34 PM ]

2007-5-24 15:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 5 楼』:  

这4个log批处理以后生成rlt1.txt文件内容格式如下:

POTANN
206108
0
206108
0
26/04/200711:38:25
26/04/200711:38:34
AGN
1211
0
1211
0
18/04/200710:19:14
18/04/200710:19:15
ANN
22
0
22
0
18/04/200718 09:53:38
18/04/200718 09:53:38
BUDNVDANN
94
0
94
0
18/04/200709:54:09
18/04/200709:54:09

生成rlt2.txt文件内容同rlt1.txt而格式如下:

POTANN2061080206108026/04/200711:38:2526/04/200711:38:34
AGN121101211018/04/200710:19:1418/04/200710:19:15
ANN22022018/04/200718 09:53:3818/04/200718 09:53:38
BUDNVDANN94094018/04/200709:54:0918/04/200709:54:09

2007-5-24 15:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 6 楼』:  

其实我用了批命令提取log中相关重要的行

for %%A in (POTANN AGN ANN BUDNVDANN) do (
findstr /C:"Table" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"Chargement réussi" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"Nombre total d'enregistrements logiques ignorés" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"Nombre total d'enregistrements logiques lus" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"Nombre total d'enregistrements logiques rejetés" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"Le début de l'exécution" c:\Log_%%A.txt >>c:\rlt_log.txt
findstr /C:"La fin de l'exécution" c:\Log_%%A.txt >>c:\rlt_log.txt
)


生成的rlt_log.txt内容如下:

Table POTANN, chargé à partir de chaque enregistrement physique.
Table POTANN :
  Chargement réussi de 206108 Lignes.
Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :        206108
Nombre total d'enregistrements logiques rejetés :         0
Le début de l'exécution a été effectué sur Jeu. Avr.  26 11:38:25 2007
La fin de l'exécution a été effectuée sur Jeu. Avr.  26 11:38:34 2007
Table AGN, chargé à partir de chaque enregistrement physique.
Table AGN :
  Chargement réussi de 1211 Lignes.
Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :          1211
Nombre total d'enregistrements logiques rejetés :         0
Le début de l'exécution a été effectué sur Mer. Avr.  18 10:19:14 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 10:19:15 2007
Table ANN, chargé à partir de chaque enregistrement physique.
Table ANN :
  Chargement réussi de 22 Lignes.
Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :            22
Nombre total d'enregistrements logiques rejetés :         0
Le début de l'exécution a été effectué sur Mer. Avr.  18 09:53:38 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 09:53:38 2007
Table BUDNVDANN, chargé à partir de chaque enregistrement physique.
Table BUDNVDANN :
  Chargement réussi de 94 Lignes.
Nombre total d'enregistrements logiques ignorés :          0
Nombre total d'enregistrements logiques lus :            94
Nombre total d'enregistrements logiques rejetés :         0
Le début de l'exécution a été effectué sur Mer. Avr.  18 09:54:09 2007
La fin de l'exécution a été effectuée sur Mer. Avr.  18 09:54:09 2007

现在就是如何从中提取数字和日期如上楼所示?

2007-5-24 16:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 7 楼』:  

sed & awk 这2个命令好像都是在UNIX下的,我在WINDOWS下也能用吗?

2007-5-25 15:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  

Re elsiezhou:

由于某些原因,两天没有登录论坛,没有即时回复你的帖子,抱歉。

sed & awk 在Windows下面也可以用的。呆会把我处理的结果发出来。

2007-5-25 16:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  

Re elsiezhou:

我主要是用的gawk来完成的,为了处理方便,直接用rlt_log.txt文件的内容了。

首先看awk1.awk脚本的内容:
{
        if($0~/Table .* :/)print $2
        if($0~/Chargement.*[0-9]*/)print $(NF-1)
        if($0~/^Nombre.*/)print $NF
        if($0~/^L.*:.*:.*[0-9]*/)printf("%s/04/%s%s\n",$(NF-2),$NF,$(NF-1))
}
然后在命令行执行
gawk -f awk1.awk rlt_log.txt>rlt1.txt
生成rlt1.txt文件,再来根据rlt1.txt文件得到rlt2.txt文件。

命令行执行
gawk "{if(NR%7!=0)printf $0;else printf(\"%s\n\",$0)}" rlt1.txt>rlt2.txt
就得到了rlt2.txt了。

2007-5-25 17:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 10 楼』:  

先谢谢了!
我试验了一下。
我把
{
        if($0~/Table .* :/)print $2
        if($0~/Chargement.*[0-9]*/)print $(NF-1)
        if($0~/^Nombre.*/)print $NF
        if($0~/^L.*:.*:.*[0-9]*/)printf("%s/04/%s%s\n",$(NF-2),$NF,$(NF-1))
}
保存为awk1.awk
之后我把
gawk -f awk1.awk rlt_log.txt>rlt1.txt
保存为cmd1.bat
运行之后,rlt1.txt是空的文件。我不知道为什么?哪里有错指教。

2007-5-25 20:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
elsiezhou
初级用户





积分 32
发帖 13
注册 2007-5-7
状态 离线
『第 11 楼』:  

gawk命令在windows下能用妈?不用装什么东西吧?
我原是想想测试成功,之后好好研究gawk命令的使用,以期看懂上述批命令。
不论如何,非常感谢帮忙!

2007-5-25 20:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:  

Re elsiezhou:

按照我的步骤来吧,在命令行执行。在批处理里面执行有时会出现一些异常的情况,原因未知。

2007-5-25 20:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  

我说过,在windows下是可以用的。

2007-5-25 20:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yiflying
社区乞丐





积分 -18
发帖 4
注册 2009-1-9
状态 离线
『第 14 楼』:  

很期待啊,我也经常需要这个功能的哦

2009-1-21 18:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 15 楼』:  纯批的完成了

@echo off
for /r %%a in (log_*.txt) do (
set n=0
echo.%%~fa
setlocal enabledelayedexpansion
for /f "tokens=* delims=," %%c in ('findstr ".*" %%~fa') do (
set str=%%c
set str=!str:"=!
call :sub !str!
)
for /f "tokens=2 delims=#" %%h in ('set _var') do set/p=%%h<nul
echo.
endlocal
)

pause

goto :eof

:sub
:loop
set /a n+=1
if "%1%3"=="Table:" set _var!n!=#%2
if "%1%2"=="ignorés:" set _var!n!=#%3
if "%1%2"=="rejetés:" set _var!n!=#%3
if "%1%2"=="lus:" set _var!n!=#%3
if "%1%3"=="surAvr." set _var!n!=#%3 %4 %5 %6
shift
if defined _var%n% goto :eof
if not "%3"=="" goto :loop

goto :eof



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-1-22 11:03
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: