如何打开 find 命令输出的文件列表?

How do I open file list outputted from find command?

我有一个有效的查找查询 find . -type f | gshuf -n2,其中 returns 两行文件。我知道我可以通过 open -a TextEdit ./text.txt 在文本编辑中打开文件,但我如何将它们放在一起,以便 Textedit 在找到后打开它们,而不是我手动复制和粘贴?

我尝试了像

这样的变体
open -a TextEdit find . -type f | gshuf -n2
open -a TextEdit (find . -type f | gshuf -n2)

等等

这可以用一个命令完成吗?如果不能,最好的方法是什么?

您第二次尝试接近成功。要将命令的输出替换为命令行,请使用 $( command ).

open -a TextEdit $(find . -type f | gshuf -n2)

但是,如果任何文件名中有空格,这将无法正常工作,因为每个单词都将被视为一个单独的文件名。这样效果会更好:

find . -type f | gshuf -n2 | while read filename; do
    open -a TextEdit "$filename"
done

双引号防止名称被拆分。