我正在关注一本 awk 书中的示例。我有以下名为“ 25regex.sh
”的 bash 脚本:
#!/usr/bin/env bash
# wh
# wy
# why
# whhy
# whhhy
# whhhhy
fname=25regex.sh
awk '/wh+y/ { print }' $fname
echo
awk '/wh{3}y/ { print }' $fname
当我运行它打印的脚本时:
# why
# whhy
# whhhy
# whhhhy
awk '/wh{3}y/ { print }' $fname
我希望第二个 awk 命令打印
# whhhy
所以我的问题是,为什么第二个 awk 命令按字面意思打印而不是执行?谢谢。
的输出cat -A 25regex.sh
是:
#!/usr/bin/env bash$
$
# wh$
# wy$
# why$
# whhy$
# whhhy$
# whhhhy$
$
fname=25regex.sh$
$
awk '/wh+y/ { print }' $fname$
$
echo$
# For some reason this is not working:$
awk '/wh{3}y/ { print }' $fname$