如何在特定目录(-mmin -1)中查找特定文件(txt)?

时间:2010-12-02 19:38:19

标签: macos bash osx-snow-leopard automator

 /usr/local/bin/growlnotify -m 'Looking for subtitles...'
 found='find /Users -type d -mmin -1'
 found1='find $found/*.txt'

 if [ -d "$found1" ];
      then
     /usr/local/bin/growlnotify -m "Subtitles downloaded!"
   else
     /usr/local/bin/growlnotify -m "Could not download subtitles"
 fi

我正在尝试编写一个bash脚本,该脚本可以找到应用程序下载字幕的文件夹,如果它们存在,则使用growl通知用户。

$ found给了我一个目录列表,但我不知道如何找到我想要的那个..

请帮助=)

抱歉我的英文

2 个答案:

答案 0 :(得分:1)

感谢您的回答!这就是我使用的,似乎工作得很好:

for FILE in "$@"
do
if [ -e "${FILE%.*}.txt" ];
                then
                     /usr/local/bin/growlnotify -a iNapi -m "Napisy zostały pobrane!"
                else
                    /usr/local/bin/growlnotify -a iNapi -m "Nie udało się pobrać napisów."
            fi
done

答案 1 :(得分:0)

基本上你在脚本中有一些错误,除了它们,我不认为这是正确的方法。

无论如何,首先,你应该这样做:

found=`find /Users -type d`

(注意使用`而不是')

那将存储在/找到/ Users下的目录列表,-mmin 1 param只列出在最后一分钟创建的目录,如果这是正确的,只需再次添加。

稍后您需要循环结果以查找txt文件:

for d in $found; do
   #here you do ll or find for .txt files, using $d as dir
done

这种方式对我来说不是最好的,我认为你可以做到:

find /Users -name *.txt

然后看看你得到了什么,find输出将打印每个txt文件所在的目录,这与你尝试做的相同,但只有一步。