我遇到过通行模式和通配符,我特别感兴趣[!]。
此结构类似于该
[!]结构,除了不匹配方括号内的任何字符,只要不在[和之间列出任何字符,它都将匹配任何字符]。
rm myfile [!192]
我相信以上内容将删除所有文件,但名称中包含192个文件的所有文件除外。
但是,我担心此扩展名是否正确使用,尤其是在多种情况下。
在这种情况下正确的语法是什么?
rm myfile [!.gif .csv. mp3]
要么
rm myfile [!.gif !.csv !.mp3]
我担心的是,该时间段可能放错了位置,因此当我试图操纵特定文件时,任何带有.(肯定是其中的一个?)文件都会被操纵。
此结构类似于该[ ]结构,除了不匹配方括号内的任何字符,只要不在[和之间列出任何字符,它都将匹配任何字符]。
(引自http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm)
现在; 对我来说,暗示一个单数!就足够了,之后的所有值都包含在该范围内。
[!]相似但不相似[!]
^含义与此处的含义完全相同!,因此,它的[^a]排除与之a完全相同[!a]:如果[之后的第一个字符是!!或^,则匹配所有未包含的字符。(man bash)
rm myfile [!192]将删除myfile,以及任何单个字符的文件没有命名1,9或2。
ls my-pattern或echo my-command检查是否按照所需的方式完成了rm