如何使用grepwin提取两个关键字之间的多行字符串

如何使用grepwin提取两个关键字之间的多行字符串,grep,Grep,嗨,我有一个文件目录,每个文件都有多行多语言文本字符串。我想使用grepwin提取所有英文文本字符串并保存到另一个文本文件中。通常,在每个文件中,英文文本位于开关/案例条件内,如下所示: Default //English bitmap 8 20 "bmp5/warning.bmp" Ltext 5 1 11 "USB Device Overload" LText 85 20 13 "USB" Ltext 50 33 13 "Device Overlo

嗨,我有一个文件目录,每个文件都有多行多语言文本字符串。我想使用grepwin提取所有英文文本字符串并保存到另一个文本文件中。通常,在每个文件中,英文文本位于开关/案例条件内,如下所示:

Default //English
    bitmap 8 20 "bmp5/warning.bmp"
    Ltext 5 1 11 "USB Device Overload"      
    LText 85 20 13 "USB"
    Ltext 50 33 13 "Device Overload!"
Break

Case _French
            bitmap 8 20 "bmp5/warning.bmp"
            LTEXT 5 1 11 "Surcharge clé USB!" 
            LTEXT 45 30 13 "Surcharge clé USB" 
Break 
因为所有的英文文本总是在'Default'和'Break'之间,所以我想用这两个关键字作为分词。最后,两个关键字之间的所有文本都需要保存到另一个文本文件中

有人能帮忙吗

通过grep感谢大家

$ grep -oPz '(?s)(?<=\n|^)Default\b[^\n]*\n\K.*?(?=\nBreak\b)' file
    bitmap 8 20 "bmp5/warning.bmp"
    Ltext 5 1 11 "USB Device Overload"      
    LText 85 20 13 "USB"
    Ltext 50 33 13 "Device Overload!"

这不是一个答案,但对我来说,最明显的工具就是呆呆地看着。或者一些脚本语言。Lua会很简洁,因为它轻量级且易于安装。感谢Avinash Raj,我在Win8中使用grepwin,这是一个非常新的功能,而不是在命令行中,所以这是一个正则表达式搜索还是一个文本搜索?这是一个基于正则表达式的文本搜索:-
grep -oPz '(?s)(?<=\n|^)Default\b[^\n]*\n\K.*?(?=\nBreak\b)' infile > outfile
  -P, --perl-regexp         PATTERN is a Perl regular expression
  -z, --null-data           a data line ends in 0 byte, not newline