如何grep -o没有-o

时间:2012-07-07 06:19:34

标签: bash

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

,我怎样才能获得grep -o行为

3 个答案:

答案 0 :(得分:3)

awk解决方案:

awk '/PATTERN/{match($0,/PATTERN/);print substr($0,RSTART,RLENGTH)}' inputFile

答案 1 :(得分:2)

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

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

因此,要在文件StackOverflow中仅查找文字file.txt,您需要撰写

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

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

答案 2 :(得分:0)

您可以改用Perl:

perl -lne 'print $1 while /(pattern)/g' FILE