Board logo

标题: [文本处理] [已解决]BAT如何批量提取文本关键字所在行内容? [打印本页]

作者: luke2    时间: 2013-9-18 22:44     标题: [已解决]BAT如何批量提取文本关键字所在行内容?

FACILITY=CFAB
DEVICE=GJN58874WV00
LAYOUT=GJN58874WV00
LOT=3248133
X_SIZE=039.606
Y_SIZE=059.055
WAFER_SIZE=200
SCRIBE="BOTTOM,10,NTRL,FAB"
STATUS="PROD"
BIN_NAME.01="G,"
BIN_NAME.08="HOLES"
BIN_NAME.09="REJECT"
WAFERS=25
USER="merge2www"
SHOT_MAP="Y-14 29/75 Y-13 24/80 Y-12 20/84 Y-11 16/88 Y-10 13/91 Y-9
9/95 Y-8 7/97 Y-7 4/100 Y-6 2/102 Y-5 0/104 Y-4 0/104 Y-3 0/104 Y-2
0/104 Y-1 0/104 Y0 0/104 Y1 -12/116 Y2 -14/118 Y3 -15/119 Y4 -17/121 Y5
-18/122 Y6 -19/123 Y7 -21/125 Y8 -21/125 Y9 -21/125 Y10 -21/125 Y11
-21/125 Y12 -21/125 Y13 -21/125 Y14 -21/125 Y15 -21/125 Y16 -30/134 Y17
-31/135 Y18 -32/136 Y19 -32/136 Y20 -33/137 Y21 -34/138 Y22 -35/139 Y23
-35/139 Y24 -36/140 Y25 -36/140 Y26 -37/141 Y27 -38/142 Y28 -38/142 Y29
-38/142 Y30 -39/143 Y31 -39/143 Y32 -40/144 Y33 -40/144 Y34 -41/145 Y35
-41/145 Y36 -41/145 Y37 -41/145 Y38 -42/146 Y39 -42/146 Y40 -42/146 Y41
-42/146 Y42 -42/146 Y43 -42/146 Y44 -42/146 Y45 -42/146 Y46 -42/146 Y47
-42/146 Y48 -42/146 Y49 -42/146 Y50 -42/146 Y51 -42/146 Y52 -42/146 Y53
-42/146 Y54 -42/146 Y55 -42/146 Y56 -42/146 Y57 -42/146 Y58 -42/146 Y59
-41/145 Y60 -41/145 Y61 -41/145 Y62 -40/144 Y63 -40/144 Y64 -40/144 Y65
-39/143 Y66 -39/143 Y67 -38/142 Y68 -38/142 Y69 -37/141 Y70 -37/141 Y71
-36/140 Y72 -36/140 Y73 -35/139 Y74 -34/138 Y75 -34/138 Y76 -33/137 Y77
-32/136 Y78 -31/135 Y79 -30/134 Y80 -30/134 Y81 -29/133 Y82 -28/132 Y83
-27/131 Y84 -26/130 Y85 -25/129 Y86 -24/128 Y87 -23/127 Y88 -21/125 Y89
-20/124 Y90 -19/123 Y91 -17/121 Y92 -16/120 Y93 -15/119 Y94 -13/117 Y95
-11/115 Y96 -10/114 Y97 -8/112 Y98 -6/110 Y99 -4/108 Y100 -2/106 Y101
0/104 Y102 2/102 Y103 5/99 Y104 8/96 Y105 11/93 Y106 21/83 Y107 21/83
Y108 21/83 Y109 26/78 Y110 31/73 Y111 39/65"
WAFERID.01=R2YG701-B3
NUM_BINS.01=02
BIN_COUNT.01.01=18812
求大神帮忙呀 批量提取带有“WAFERID.01=”,”BIN_COUNT.01.01=“关键字的行内容,放在新建的txt文本中
作者: apang    时间: 2013-9-18 23:06

如果文件只有一个,就这样:
  1. findstr /ic:"WAFERID.01=" /c:"BIN_COUNT.01.01=" a.txt>b.txt
复制代码
如果有很多txt文件需要提取,就这样:
  1. @echo off
  2. md "New\" 2>nul
  3. for /f "tokens=1*delims=:" %%a in ('findstr /ic:"WAFERID.01=" /c:"BIN_COUNT.01.01=" *.txt') do >>"New\%%~na_New.txt" echo,%%b
  4. pause
复制代码

作者: luke2    时间: 2013-9-18 23:16

感谢大神的出手,是同一个文本文件里有很多个带有关键字"WAFERID.01=" 和"BIN_COUNT.01.01="的提取,而它们所在的行是随机的,没有特殊规则,继续求助哈
作者: Lumiere    时间: 2013-9-19 00:06

回复 3# luke2


    还求什么啊,人家两段代码都给出来那么清晰了,你的要求他的第一段代码就可以实现。
作者: luke2    时间: 2013-9-19 09:19

Perfect!非常之感谢哈  中秋快乐哈 是我犯了低级错误"WAFERID.01=" 和"BIN_COUNT.01.01=" replace "WAFERID." 和"BIN_COUNT." ,then is OK。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2