1

我有 BusyBox v1.01 提供我的命令。因此,-o 不包含在 grep 中。grep -o如果没有 ... -o,我如何获得行为?

4

3 回答 3

3

awk解决方案:

awk '/PATTERN/{match($0,/PATTERN/);print substr($0,RSTART,RLENGTH)}' inputFile
于 2012-07-07T06:44:56.033 回答
2

如果你有sed你可以使用简单的正则表达式。(见linuxquestions.org

sed -n 's/.*\(PATTERN\).*/\1/p' FILE

因此,仅查找您要编写StackOverflow的文件中的文本file.txt

sed -n 's/.*\(StackOverflow\).*/\1/p' file.txt

请记住 sed 命令中的模式是正则表达式。因此,如果您的模式包含正则表达式的任何元字符,则需要对其进行转义。

于 2012-07-07T06:30:13.047 回答
0

您可以改用 Perl:

perl -lne 'print $1 while /(pattern)/g' FILE
于 2012-07-07T06:37:32.297 回答