【发布时间】:2013-12-18 21:48:54
【问题描述】:
我有一个文件可能有多个字符串模式实例(以 X 开头,以 Y 结尾)。我想提取与此模式匹配的每个实例。这些可能在单行上,或者新行可能在也可能不在行的开头或结尾。我曾尝试使用带有正则表达式模式 (X.*Y) 的 grep,但运行 ksh 的 KornShell (ksh) 版本无法识别 -c 选项,因此很难提取我需要的内容。我还读到 awk 可以做到这一点,但没有为 awk 找到好的文档。
任何帮助将不胜感激。
【问题讨论】:
-
“提取”是什么意思?
-c选项与您的问题有什么关系? -
请提供您的示例文件和预期输出,这有助于更好地了解您的需求,谢谢。
-
如果您使用 Korn shell,正如您的主题行所建议的那样,您应该用 ksh 标记这个问题,而不是 bash。跨度>
-
你想如何处理例如
XabcYdefXghiY还是XabcXdefYghiY?是每一个匹配,还是两个(或更多)匹配?可以嵌套匹配,还是只查找内部/外部/第一个/最后一个/最大/最小匹配? -
@ruifeng - 我目前无法提供示例文件,只是知道我正在文件中搜索模式并希望将与模式匹配的实例放入变量中以供以后使用.
标签: regex shell scripting awk ksh