unix - r用法 - linux grep c




只打印匹配的字,不能通過grep整行 (2)

如果你有perl

echo "I am a boy" | perl -lne '/am/ && print $&'
am

我熟悉shell編程,但由於某種原因egrep -o只打印匹配的單詞不起作用,並顯示如下錯誤。

環境是ksh unix控制台上的膩子,而不是Linux或Ubuntu的終端......任何意見表示讚賞!

終端輸入輸出:

AB12 $ echo "i am a boy" | grep -w "am"
i am a boy
AB12 $ echo "i am a boy" | egrep -o "am"
egrep: illegal option -- o
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
AB12 $ echo$
ksh: echo$: not found
AB12 $ echo $SHELL
/bin/ksh
AB12 $ echo "i am a boy" | grep -o "am"
grep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .
AB12 $

PS:類似的線程,但已經嘗試過: 可以grep只顯示匹配搜索模式的單詞?


我假設這是一個你連接到的Solaris盒子。 Solaris的grep版本沒有-o選項。 所以你也可以

  • 在你的Solaris機器上安裝GNU grep(它可能已經安裝在/usr/sfw/bin ,或者你可能已經使用pkg install //solaris/text/gnu-grep )。 要么
  • 用awk來代替(見這個問題

看我的箱子:

$ uname
SunOS
$  echo "i am a boy" | grep -o "am"
grep: illegal option -- o
Usage: grep -hblcnsviw pattern file . . .
$  echo "i am a boy" | /usr/sfw/bin/ggrep -o "am"
am






solaris