我通过以下命令匹配目录r09 r10中的数据:
find r[0-9]* -name '\*-ch24-\*' | sed -e 's|r[0-9]*/n_ch24/||' > sim_sets1.txt
但感到困惑,为什么它不是find r[0-9]\* -name '.\*-ch24-.\*
?
答案 0 :(得分:2)
*-ch24-*
是一个全局。 -name
匹配globs。对于glob,*
匹配任何字符的零个或多个。
.*-ch24-.*
是正则表达式。如果要匹配正则表达式,请使用-regex
而不是-name
。在正则表达式中,.
匹配任何字符,*
是一个量词,表示前面字符中的零个或多个。