【问题标题】:Find/list only file types recursive in a directory仅查找/列出目录中递归的文件类型
【发布时间】:2020-05-14 11:19:57
【问题描述】:

我如何搜索文件并只给出一个 mime 或类型列表。

示例:

目录 -file1.pdf -file2.pdf -dir2 --file3.png --file4.pdf

希望的输出:

pdf PNG

编辑

也找到了一个解决方案,但不区分大小写,也不区分 .peng 和 .png

find . -type f -printf '%f\n' | sed 's/^.*\.//' | sort -u

【问题讨论】:

  • find dir -type f | grep -o '...$' | sort -u

标签: linux bash list find file-type


【解决方案1】:

find-exec 选项与any solution that extracts the extension 一起使用。然后通过sort -u 删除重复项。

find dir -type f -exec bash -c 'printf %s\\n "${@##*.}"' x {} + | sort -u

也会列出没有扩展名的文件。要过滤掉它们,请在 -exec 之前添加选项 -name '*\.*'

【讨论】:

  • 这给了我一个错误:find: missing argument to `-exec'
  • @Vergil 我的错。我忘记了{},请参阅编辑后的答案。感谢您的反馈。
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2017-06-07
  • 2011-04-01
  • 1970-01-01
  • 2010-10-24
  • 2012-11-06
相关资源
最近更新 更多