查找文件类型反向

查找文件类型反向

在我的图像文件夹中,我只想要图像,因此我将使用此命令找到所有视频文件“入侵者”(在 stackexchange 上的某处找到)

find folder/imageonly  -type f -exec file -N -i -- {} + |sed -n 's!: video/[^:]*$!!p'

但如果我想要反向搜索呢?例如我想找到视频文件夹中所有非视频文件?

ps=i 不使用扩展名,因此必须使用标志“file -N -i..”

答案1

我只是使用 grep 而不是 sed (主要是因为我没有 sed 的经验)。但以下应该有效(并且在我的系统上有效):

find .  -type f -exec file -N -i -- {} + | grep -v 'video/' | cut -d : -f 1

这预计没有:不过在文件名中。

答案2

将地址范围添加到您的sed

find folder/imageonly  -type f -exec file -N -i -- {} + |
  sed -n '/: video\/[^:]*$/!s!: [[:alnum:]]*/[^:]*$!!p'

/: video\/[^:]*$/!告诉它在与用于匹配视频的模式不匹配的每一行上运行命令。

相关内容