2009-04-15 44 views

回答

-1

我会用:

ls *Exam* | xargs open 
+0

@diciu:谢谢!你的命令工作得很好。 – 2009-04-15 11:47:58

1

喜欢的东西

acroread *Exam*.pdf 

应该工作。这与任何具有“考试”的字符串匹配,并以“.pdf”结尾。这还假定你有一个名为“acroread”知道如何阅读PDF命令:S,可能会或可能不会针对Mac OS X是真的

+0

在Mac OS X上,您可以使用'open'命令打开任何文件。对于PDF文件,默认情况下它将启动Preview.app。 – mouviciel 2009-04-15 11:37:29

7
find . -name "*exam*" -exec <name of pdf reader executable> {} \; 
+0

您可能需要'-iname`而不是`-name`,以防情况发生变化。 – vezult 2009-04-15 11:35:00

4
  • 不要分析ls。它的输出是不可靠的,只能看(用于人类解析)。请参阅http://mywiki.wooledge.org/ParsingLs
  • 请勿使用xargs。它破坏你的数据尝试变得更聪明。您的文件名中有空格或引号?你可以确定它会爆炸。

为了xargs的行为,你必须竭尽全力:

printf '%s\0' *Exam* | xargs -0 open 

是的,这是颇为曲折。请继续阅读。

find解决方案虽然准确,但仍是递归的(可能是您想要的),但在输入提示时也有点多。

find . -name '*Exam*' -exec open {} + 

你可以让所有的,很多通过记住open在Mac OS X中采用多个参数就好了(这正是xargs一样),所以这只是罚款,在当前目录中打开的所有文档更容易包含单词Exam

open *Exam* 
相关问题