Regex ls不匹配多个扩展名的所有目录
我试图列出所有不以.tar*或*.tgz结尾的内容 比如说Regex ls不匹配多个扩展名的所有目录,regex,find,pattern-matching,ls,Regex,Find,Pattern Matching,Ls,我试图列出所有不以.tar*或*.tgz结尾的内容 比如说 directory1/ ls -ltr * 06062018.tar.gz 06062018.tar.tgz 06062018.tgz 06062018/ directory2/06062018.tar.gz directory3/06062018.tar.tgz directory4/06062018.tgz directory5/06062018/ directory6/06062018.1/ 预期输出为: 0606218/ di
directory1/
ls -ltr *
06062018.tar.gz
06062018.tar.tgz
06062018.tgz
06062018/
directory2/06062018.tar.gz
directory3/06062018.tar.tgz
directory4/06062018.tgz
directory5/06062018/
directory6/06062018.1/
预期输出为:
0606218/
directory5/06062018/
directory6/06062018.1/
我所研究的:
我尝试过的: ls-ltr*| grep-v$tar.gz
ls -ltr * !(*.tar.gz)
find ./* -maxdepth 1 ! -path "*tar.*"
find . -maxdepth 1 ! -path "[*.tar.gz|*tgz]"
ls -ltr | grep -v "[*tar*|*tgz]"
ls -ltr */* --ignore=*.tar.gz --ignore=*tgz
ls -ltr ./* --ignore=*.tar* --ignore=*tgz
只需使用两个
-名称
模式
find * -maxdepth 1 ! -name '*.tar*' ! -name '*.tgz'