如何在终端中打开包含“考试”一词的文件?

时间:2009-04-15 11:29:08

标签: bash

我想打开许多包含单词exam的pdf文件。 我的Mac终端使用Bash。

单词考试随机出现在名称中:有时在初学者,有时在midlle,有时在名称的末尾。

如何在终端中打开包含“考试”一词的文件?

4 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:4)

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

要使xargs表现出来,你必须付出很大的努力:

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

是的,那是相当复杂的。请继续阅读。

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

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

通过记住Mac OS X上的open可以很好地获取多个参数(这正是xargs所做的那样),你可以更轻松地做到这一点,所以这对于打开所有文档都没问题在当前目录中包含单词Exam

open *Exam*

答案 2 :(得分:1)

这样的东西
acroread *Exam*.pdf

应该有效。这匹配任何包含“Exam”的字符串,并以“.pdf”结尾。这也假定您有一个名为“acroread”的命令,它知道如何阅读PDF:s,这可能适用于Mac OS X,也可能不适用。

答案 3 :(得分:-1)

我会用:

ls *Exam* | xargs open