【发布时间】:2012-06-13 13:39:05
【问题描述】:
我想编写一个批处理文件来读取输入文本文件,从中提取信息并将其放入输出文件中。
- 输入文件中的每一行都有不同的信息,所以我希望批处理循环遍历每一行。
- 我想从输入文件中提取某些信息并丢弃其余信息。
- 输入文件可以有任意数量的行。
- 如果输入行没有有用的信息,我想留下一条错误消息。
- 我需要两个计数器,第一个告诉输入文件中的行数,第二个告诉输出文件中的行数(不计算空行)。
- 我希望批处理将特殊字符视为普通字母。
例如:
FILE_NAME=apple FILE_SIZE=312 C=fwef sdf asdetg
FILE_SIZE=7867 C=ehtrghr FILE_NAME=sea&ocean G=tryr yujg
C=gert FILE_NAME=chair=12 tgrgd sfsf FILE_SIZE=66
dfgg ertergf C=ert A=344
fgdfg FILE_NAME=cat
我只想提取 FILE_NAME=XXX 和 FILE_SIZE=XXX 部分,丢弃该行中的所有其他内容。输出应该是:
-name apple -size 312
-name sea&ocean -size 7867
-name chair=12 -size 66
ERROR!!!
-name cat
input_count=5 and output_count=4
【问题讨论】:
-
我知道这不是批处理文件方法,所以可能不适合,但是 awk 和 sed 都是(linux)命令行工具,用于重新排列文本行,例如这个。
-
也许您可以从 UnxUtils 项目中下载
sed和awk版本并在批处理文件中使用它们。
标签: batch-file