私はいくつかの質問を見つけましたが、私の質問に満足して答えることができませんでした。
単語を含む行ではなく、パターンに正確に一致する単語を印刷する必要があります。たとえば、
私は家に帰ります。気になるところが家です。
したがって、「ホーム」パターンで検索すると
ホームホームページ
私は理解 grep -o
私の仕事は簡単になりますが、 私のもの grep
このオプションはサポートされていません。だから別の解決策が必要です。
また、正確な一致が必要です。したがって、単語がある場合は選択homeless
から選択しないでください。
答え1
一緒に遊ぶ人perl
:
$ echo 'I am going home. Home is where heart is.' |
perl -lne 'for (split /\W+/) {print $& if /\bhome\b/i}'
短く調整ジョセフR.以下のコメント(彼に感謝)
$ echo 'I am going home. Home is where heart is.' |
perl -lne 'print $& while /\bhome\b/ig'
結果:
home
Home
答え2
答え3
使用awk
:
echo "I am going home. Home is where heart is. I dont like Homework." | awk '{for(i=1;i<=NF;i++) {gsub(/[^a-zA-Z0-9]/,"",$i); if(match(tolower($i),/^(home)$/))print $i;}}'
出力:
home.
Home
答え4
printf %s\\n 'I am going home. Home is where the heart is.' |
sed 's/\([hH]ome\)*.\{,1\}/\1/g'
出力
ホームホームページ