我正在执行以下命令:

echo "ze2s hihi" | tr ' ' '\n' | grep 'h*'

但我得到的不是输出中的hihi
ze2s
hihi

发生了什么?

最佳答案

你想要的是:

echo "ze2s hihi" | tr ' ' '\n' | grep 'h.*'

使用“h*”时,您要求在序列中匹配任意数量的h,包括ze2s匹配的0个h。
或者你只想匹配包含h的任何东西:
echo "ze2s hihi" | tr ' ' '\n' | grep 'h'

10-04 19:45