我正在学习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'的文件名吗?
它匹配其他一些列,只尝试搜索所需的列:
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)