Macos 如何在特定目录(-mmin-1)中查找特定文件(txt)?
我正在尝试编写一个bash脚本,该脚本将定位应用程序下载字幕的文件夹,并使用咆哮通知用户字幕是否存在 $FOND给了我一个目录列表,但我不知道如何找到我想要的 请帮助=)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
对不起,我的英语基本上你的脚本有一些错误,除此之外,我认为这不是正确的方法 无论如何,首先,你应该做:
/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