Bash List文件与模式数组不匹配
发布时间:2020-12-15 18:24:23 所属栏目:安全 来源:网络整理
导读:我对bash没有经验,我有一个问题. 我试图选择一些与某些数组o模式不匹配的文件(比如说这个例子的ls). 我有两个组中需要选择名为Test,Test1,Test2,Test3,Test4,Test5,Test6,Test7,Test8,Test9,Test10的文件. 第一组是Test5,Test10,我可以使用以下方式列出: ls
我对bash没有经验,我有一个问题.
我试图选择一些与某些数组o模式不匹配的文件(比如说这个例子的ls). 我有两个组中需要选择名为Test,Test1,Test2,Test3,Test4,Test5,Test6,Test7,Test8,Test9,Test10的文件. 第一组是Test5,Test10,我可以使用以下方式列出: ls -l T*@(5|6|7|8|9|10) or ls -l T*{5,6,7,8,9,10} 第二组是一个棘手的(对我来说)因为测试& Test1文件.我试图反转以前的选择/列表..或以某种方式选择其余的. ls -l T*[!5678910] ls -l T*[!@(5|6|7|8|9|10)] ls -l T*[!5][!6][!7][!8][!9][!10] ls -l T*@(1|2|3|4|) p.s:实际的文件名在数字后面有额外的字符.
您可以反转这样的模式:
# enable extended glob,if disabled,it will not function shopt -s extglob # create our files touch {Test,Test10} # list files with matching pattern ls -1 T*@(5|6|7|8|9|10) Test10 Test5 Test6 Test7 Test8 Test9 # list files with NOT matching pattern ls -1 T!(*@(5|6|7|8|9|10)) Test Test1 Test2 Test3 Test4 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |