【发布时间】:2016-07-17 04:24:07
【问题描述】:
Collocation -> n A m a k a (Collocation -> Words, Words -> Word Words, Word -> n A (Word -> Chars, Chars -> Char Chars, Char -> 'n', Chars -> Char, Char -> 'A'), Words -> Word Words, Word -> m a (Word -> Chars, Chars -> Char Chars, Char -> 'm', Chars -> Char, Char -> 'a'), Words -> Word, Word -> k a (Word -> Chars, Chars -> Char Chars, Char -> 'k', Chars -> Char, Char -> 'a'))
我有一个包含 1000 行这样的文件。我想搜索这样的模式 "Word -> n A (" 即,
- 应该以“Word ->”开头
- 之后它可以在任何情况下包含任意数量的字母
- 以左括号“(”结束
我想要的上面的例子,
- Word -> n A (
- 单词 -> m a (
- 单词 -> k a (
我试过这个 grep 命令: grep -no "Word -> .*(" 文件名
但是,它返回如下:
Word -> n A (Word -> Chars, Chars -> Char Chars, Char -> 'n', Chars -> Char, Char -> 'A'), Words -> Word Words, Word -> m a (Word -> Chars, Chars -> Char Chars, Char -> 'm', Chars -> Char, Char -> 'a'), Words -> Word, Word -> k a (
我还希望一行中的所有匹配模式都出现在输出文件的一行中。
还建议是否可以通过其他方法完成。
【问题讨论】: