私はbashでのシェルプログラミングに精通していますが、何らかの理由でegrep -o
一致する単語のみを印刷することは機能せず、次のようなエラーが表示されます。
環境はPuTTY上の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
オプションがありません。だからあなたはどちらか
/usr/sfw/bin
に既にインストールされているか、pkg install //solaris/text/gnu-grep
でうまくいくかもしれません);または私の箱を見てください:
$ 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
Perl
がある場合:
echo "I am a boy" | Perl -lne '/am/ && print $&'
am