我正在处理google colaboratory,我必须根据扩展名对一些文件进行细化,例如:
!find ./ -type f -name "*.djvu" -exec file '{}' ';'
我希望有一个结果:
./file.djvu: DjVu multiple page document
但是,当我尝试混合使用bash和python来使用一个exension列表时:
for f in file_types:
!echo "*.{f}"
!find ./ -type f -name "*.{f}" -exec file '{}' ';'
!echo "*.$f"
!find ./ -type f -name "*.$f" -exec file '{}' ';'
我只得到了echo
的输出,而没有得到文件的输出
*.djvu
*.djvu
*.jpg
*.jpg
*.pdf
*.pdf
如果我删除exec
部分,它实际上会找到文件,因此我无法理解为什么find
命令与exec
组合会以某种方式失败
如果需要,我可以提供更多信息/示例
我发现了一个难看的解决方法,将trought传递给一个文件,因此首先我用python将数组写入一个文件:
然后我在另一个单元格中从bash读取并使用它:
这样我就不会像另一个answer的评论中建议的那样,在同一个单元格中混合使用bash和python
我希望找到一个更好的解决方案,可能使用一些我不知道的技巧
这对我有用
相关问题 更多 >
编程相关推荐