我有BusyBox v1.01提供我的命令。因此,-o不包含在grep中。如果没有...... -o?
,我怎样才能获得grep -o
行为
答案 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