查找命令、-exec tail 和文件浏览器

查找命令、-exec tail 和文件浏览器

我想使用该find命令并打开文件浏览器(Nemo),结果如下:

这样就可以了

find . -name "foo*" -exec nemo {} +

它为每个结果打开一个新窗口。因此,为了避免在结果太多时打开大量窗口,我想使用该命令tail -<number>来限制窗口数量。

这不起作用:

find . -name "foo*" -exec tail -1 {} \; -exec nemo {} +

既然打开了所有的窗户。

有没有办法让第二个-exec参数作为第一个参数-exec?或者我误解了什么?

使用案例:xfce 菜单 > 搜索命令,它将采用要查找的字符串作为参数:find /my/home/dir -name "*%s*" -exec tail -<x> {} \; -exec nemo {} +。请注意,如果我(不小心)搜索字符串“a”可能会产生数百个结果。

答案1

find . -name "foo*" -exec tail -1 {} \; -exec nemo {} +

您正在执行tail找到的每个文件的内容,而不是文件名列表。

至少使用 GNU Coreutils,你可以做类似的事情

find . -name "foo*" -print0 | tail -zn 1 | xargs -0 nemo

相关内容