提取信息

时间:2013-07-24 13:34:35

标签: batch-file find

我在文件中包含长行信息。我需要帮助才能搜索特定信息并仅提取该部分行。

脚本需要处理批处理文件,但我不知道批处理是否是此任务的最佳语言。

Info.txt:

Time=20130101|Info=ok|Hello=1234321|Result=sunnyweather|Numbers=cow|File=hello.txt....
Time=20130532|Info=ok|Hello=78654321|Result=badweather|Numbers=horse|File=one.wav....

所以我需要能够提取例如"结果= ..."并导出到另一个文件。

您会提出哪种脚本语言以及如何使用?

事先感谢! :)

2 个答案:

答案 0 :(得分:2)

你应该使用sed

>echo("Time=20130101|Info=ok|Hello=1234321|Result=sunnyweather|Numbers=cow|File=hello.txt...."|sed -r "s/.*(Result=\w+).*/\1/"
Result=sunnyweather
适用于Windows的

sed

答案 1 :(得分:1)

你有多少行?

数百:

If Exist Result.txt Del Result.txt
For /F "Tokens=4 Delims=^|" %%i In (Info.txt) Do Echo %%i>>Result.txt

数千或更多:

考虑使用SQLite shell(http://www.sqlite.org/sqlite.html)。