如何打开 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
双引号防止名称被拆分。
我有一个有效的查找查询 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
双引号防止名称被拆分。