如何列出目录中存在的所有 ASCII 文件?

ske*_*mal -1 command-line files find ls

我想列出当前工作目录(home)中所有不带扩展名(.txt)的 ASCII 文件。我从终端中的命令开始ls,但我不知道应该在选项中放入什么,因为我想列出没有扩展名而只有名称的文件。我该怎么做?

Mar*_*ton 6

运行以下命令:

find . -maxdepth 1 -type f ! -name "*.*" -exec grep -lvIP '[^[:ascii:]]' {} +
Run Code Online (Sandbox Code Playgroud)
  • find是一个更强大的ls
  • . -maxdepth 1表示仅当前目录
  • -type f表示仅文件
  • ! -name "*.*"表示排除带有扩展名的文件
  • -exec grep...表示通过命令{} +过滤文件列表grep
  • -lvIP '[^[:ascii:]]'表示仅显示-l不包含-v任何非 ( ^)-ascii 字符且也不包含二进制数据 ( -I) 的文件。在模式中-P使用字符类需要Perl 语法。[:ascii:]