我有一个包含多行的文本文件。在每一行中都会出现一次或多次某个字符串。我想提取字符串出现多次的所有行,并将这些行写入单独的文本文件。
我的尝试将覆盖正则表达式,我会找到&在UltraEdit中替换。 UltraEdit中的RegEx怎么样?
答案 0 :(得分:0)
我不确定UltraEdit,但这很容易。 grep .*STRING.*STRING.* myfile.file > output.file
这会搜索myfile.file
任意两次出现STRING
的行,并将其输出到文件output.file
。
如果是Windows,请使用findstr .*STRING.*STRING.* myfile.file > output.file
。同样的结果,请检查output.file
以查找包含两个(或更多)STRING
次出现的完整行。
答案 1 :(得分:0)
从版本12开始,UltraEdit for Windows中有3个正则表达式引擎。
正则表达式在使用三个表达式中的任何一个时都很简单。
UltraEdit 正则表达式搜索字符串:string?+string
?
与换行符不匹配。因此,除了。之间的换行符之外,一行必须包含string
两次其他字符。
Unix 或 Perl 正则表达式搜索字符串:string.+string
.
与换行符不匹配(默认情况下)。因此,除了。之间的换行符之外,一行必须包含string
两次其他字符。
使用 Perl ,如果肯定匹配应该要求\bstring\b.+\bstring\b
是一个完整的单词,例如包含string
的行,则也可以使用strings or substring
生成正匹配的行可以写入查找字符串列表窗口,其中包含查找选项包含字符串的列表行,并通过上下文菜单从此窗口复制到新的文件。
也可以使用查找选项过滤行并选择显示,以便仅显示包含string
的行至少两次。
进一步在文件中查找,选择打开文件并选择结果编辑窗口选中,可以执行以查找已找到的行根据高级 - 设置或配置 - 搜索 - 设置查找输出格式中定义的配置,没有或包含其他信息的新文件。当然也可以在没有选项的情况下运行在文件中查找 结果编辑窗口,以便将找到的行写入活动输出窗口选项卡。
在Find strings with a regular expression and output them to new file中记录了UltraEdit脚本,以便使用正则表达式将活动文件字符串grep到新文件中。