打开使用“查找”命令找到的文件

打开使用“查找”命令找到的文件

这可能是一个简单的问题,但我无法弄清楚,而且几乎无法搜索。在文件夹层次结构中,我只有一个 xyz 类型的文件。我想找到该文件并使用终端命令打开它。

find . -name *.xyz

这将返回我正在寻找的文件。现在如何自动打开它,而无需输入名称?

find . -name *xyz | open

这是行不通的。它说它没有找到打开命令。

答案1

@retracile是正确的。您需要用“某物”打开它。不过,我更喜欢使用 exec 而不是 xargs。

find . -name '*.xyz' -exec cat {} \;

这将返回cat fileFound.xyz; cat fileFound2.xyx;等等......但是,您只希望找到一个文件。

请注意,更改\;+将根据情况返回,cat fileFound.xyz fileFound2.xyz后者可能是首选。

有关这方面的更多信息,我会指导您这个问题

答案2

您需要知道要使用什么程序来打开该文件。如果它是图像,你可以使用 gwenview 或其他东西。

使用 xargs 可以获取输入并将其转换为参数。并且您需要转义该通配符...

find . -name \*xyz | xargs gwenview

并处理文件名中的空格......

find . -name \*xyz | xargs -d"\n" gwenview

答案3

您正在寻找的命令称为xdg-open

尝试使用它的命令:

xdg-open "$(find . -name '*xyz' | head -n1)"

答案4

find如果你想在单个 vim 实例中打开单独选项卡中找到的所有文件,你可以这样做:

find . -name \*xyz | xargs vim -p

相关内容