我正在尝试列出不以 .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/
directory5/06062018/
directory6/06062018.1/
我研究过什么:
正则表达式 - 查找不包含模式的所有
内容 列出所有与选择器不匹配的文件(使用 ls(
列出与模式不匹配的文件?
如何使用ls命令和正则表达式显示所有不以.txt结尾的文件的列表?
我尝试过什么: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
只需使用两种! -name
模式。
find * -maxdepth 1 ! -name '*.tar*' ! -name '*.tgz'