我遇到过通行模式和通配符,我特别感兴趣[!]
。
此结构类似于该
[!]
结构,除了不匹配方括号内的任何字符,只要不在[
和之间列出任何字符,它都将匹配任何字符]
。
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