Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux中搜索当前目录中名称不包含“txt”的文件_Linux_Shell_Find Util - Fatal编程技术网

在linux中搜索当前目录中名称不包含“txt”的文件

在linux中搜索当前目录中名称不包含“txt”的文件,linux,shell,find-util,Linux,Shell,Find Util,我知道如何在当前目录中查找后缀为.txt的文件: 查找*.txt 我如何颠倒这个 我是Linux新手,请帮助我。谢谢 find ! -name "*.txt" 或 或 如果您只需要当前目录,并且shell是bash: shopt -s extglob ls !(*.txt) 如果您只需要当前目录,并且shell是bash: shopt -s extglob ls !(*.txt) 在当前文件中查找不是递归的 find -maxdepth 1 ! -name "*.txt" 在当前文件中

我知道如何在当前目录中查找后缀为.txt的文件: 查找*.txt

我如何颠倒这个

我是Linux新手,请帮助我。谢谢

find ! -name  "*.txt"


如果您只需要当前目录,并且shell是bash:

shopt -s extglob
ls !(*.txt)

如果您只需要当前目录,并且shell是bash:

shopt -s extglob
ls !(*.txt)

在当前文件中查找不是递归的

find -maxdepth 1 ! -name "*.txt"

在当前文件中查找不是递归的

find -maxdepth 1 ! -name "*.txt"

@尼基托:对我来说似乎是一个有效的答案;什么使你认为它不是?@NickKitto:对我来说似乎是一个正确的答案;什么使你认为它不是?@John1024:你可能在想find-name'*.txt';find*.txt,由于使用了一个不带引号的glob,将只匹配当前目录中的*.txt文件,因为它是执行globbing的shell,并将匹配的文件作为参数传递给find,假设存在*.txt目录,find将递归到其中,正在列出那里的所有文件。@mklement0您是对的。@John1024:您可能想到了find-name'*.txt';由于使用了一个不带引号的glob,find*.txt将只匹配当前目录中的*.txt文件,因为它是执行globbing的shell,并将匹配的文件作为参数传递给find,假设存在*.txt目录,find将递归到其中,列出其中的所有文件。@mklement0您是对的。