Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在特定目录(-mmin-1)中查找特定文件(txt)?_Macos_Bash_Osx Snow Leopard_Automator - Fatal编程技术网

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

Macos 如何在特定目录(-mmin-1)中查找特定文件(txt)?,macos,bash,osx-snow-leopard,automator,Macos,Bash,Osx Snow Leopard,Automator,我正在尝试编写一个bash脚本,该脚本将定位应用程序下载字幕的文件夹,并使用咆哮通知用户字幕是否存在 $FOND给了我一个目录列表,但我不知道如何找到我想要的 请帮助=) 对不起,我的英语基本上你的脚本有一些错误,除此之外,我认为这不是正确的方法 无论如何,首先,你应该做: /usr/local/bin/growlnotify -m 'Looking for subtitles...' found='find /Users -type d -mmin -1' found1='find $f

我正在尝试编写一个bash脚本,该脚本将定位应用程序下载字幕的文件夹,并使用咆哮通知用户字幕是否存在

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

请帮助=)


对不起,我的英语

基本上你的脚本有一些错误,除此之外,我认为这不是正确的方法

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

 /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
(注意“and not”的用法)

这将在$found中存储/Users下的目录列表,-mmin 1参数只列出在最后一分钟创建的目录,如果正确,只需再次添加它

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

found=`find /Users -type d`
这样对我来说不是最好的,我想你可以:

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

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

谢谢您的回答!这就是我用过的,而且似乎效果很好:

find /Users -name *.txt

您发布的脚本有问题。如果要执行命令,必须使用倒勾(
`
)而不是单引号(
)。我不确定这是否回答了您最初的问题,但它至少可以让脚本运行。您需要确定一组更窄的选择文件的标准。你现在拥有的可能会产生大量的误报。请更清楚地说明您正在尝试做什么。您似乎正在搜索在最后一分钟修改过的任何目录下的任何
.txt
文件。顺便说一句,你的英语很好。
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