星号在正规表示法与非正规表示法的区别

如果我要找所有/etc目录下后缀名为conf的文件,
对于非正规表示法的ls如下:
红色为输入的命令
[root@Server /etc]# ls *.conf
cdrecord.conf  identd.conf   ld.so.conf      modules.conf   pine.conf     sysctl.conf     yp.conf
esd.conf       initlog.conf  lilo.conf       nscd.conf      pnm2ppa.conf  syslog.conf     ypserv.conf
gpm-root.conf  krb5.conf     logrotate.conf  nsswitch.conf  pwdb.conf     updatedb.conf
grub.conf      krb.conf      lpd.conf        pam_smb.conf   radvd.conf    warnquota.conf
host.conf      ldap.conf     ltrace.conf     pbm2ppa.conf   resolv.conf   xinetd.conf
如果换成支持正规表示法的grep会怎么样呢
 
[root@Server /etc]# ls |grep *.conf
[root@Server /etc]#
看见了吗 没有输出了
 
 
要怎样才能行呢?
前面的.*表示的是至少一个任意字符,后面的$表示文字以.conf结尾
[root@Server /etc]# ls |grep .*.conf$
cdrecord.conf
esd.conf
gpm-root.conf
grub.conf
host.conf
identd.conf
initlog.conf
krb5.conf
krb.conf
ldap.conf
ld.so.conf
lilo.conf
logrotate.conf
lpd.conf
ltrace.conf
modules.conf
nscd.conf
nsswitch.conf
pam_smb.conf
pbm2ppa.conf
pine.conf
pnm2ppa.conf
pwdb.conf
radvd.conf
resolv.conf
sysctl.conf
syslog.conf
updatedb.conf
warnquota.conf
xinetd.conf
yp.conf
ypserv.conf
如果要显示al开头的文件呢
[root@Server /etc]# ls |grep ^al.*
 
那个^号表示打头的字符是al,.*表示至少一个任意字符

alchemist
aliases
aliases.db

你可能感兴趣的:(职场,休闲)