通配符一般是用以查找文件的,可以看成是完全匹配的意思,像ls,find,cp等命令不支持正则表达式的
正则表达式则是不完全匹配的
以上红色的字就是通配符和正则表达式的区别
正则表达式:
\{n\} n是数字,例如:[0-9]\{4\} 表示匹配4位数的数字
\{n,\} 表示前面的字符不小于n次,例如[0-9]\{2,\} 表示两位以上的数字
\{n,m\} 表示匹配至少出现n次,最大出现m次,例如[0-9]\{2,3\} 表示匹配两位或者三位的数字
经典实例:
需求是需要匹配只要包含a的内容
grep "a*" test_rule.txt 这句则实现不了以上的需求
*代表出现0次或任意多次,所以上面的语句命令则会匹配所有内容
grep "^$" test_rule.txt 表示匹配空白行,正则的命令是以$开头的行,在linux的换行符号是$