我有一个工作查找查询find . -type f | gshuf -n2
,它返回两行文件。我知道我可以通过open -a TextEdit ./text.txt
在文本编辑中打开文件,但是如何将这些文件放在一起以便Textedit在找到而不是手动复制和粘贴后打开它们?
我尝试了像
这样的变体open -a TextEdit find . -type f | gshuf -n2
open -a TextEdit (find . -type f | gshuf -n2)
等
这可以在一个命令中完成,或者如果不是最好的方法吗?
答案 0 :(得分:1)
你第二次尝试就接近了。要将命令输出替换为命令行,请使用$( command )
。
open -a TextEdit $(find . -type f | gshuf -n2)
但是,如果任何文件名的名称中都有空格,这将无法正常工作,因为每个单词都将被视为单独的文件名。这会更好:
find . -type f | gshuf -n2 | while read filename; do
open -a TextEdit "$filename"
done
双引号可防止名称被拆分。