为什么我在使用awk搜索'em'regex关键字时获得'en'包含文件?

Zen*_*Zen 0 regex awk

我正在学习awk正则表达式搜索.

在\ etc路径下我做了这个命令:

ls -l | awk '/em/ { print $9}'
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

aptdaemon
at.deny
emacs
gnome-settings-daemon
systemd
Run Code Online (Sandbox Code Playgroud)

我想知道为什么这个'at.deny'文件显示在结果中?不应该/ em /只搜索包含'em'的文件名吗?

per*_*eal 5

它匹配其他一些列,只尝试搜索所需的列:

ls -l | awk '$9 ~ /em/ { print $9}'
Run Code Online (Sandbox Code Playgroud)

尽管使用find可能更好:

find -maxdepth 0 -name '*em*'
Run Code Online (Sandbox Code Playgroud)