Applescript: использование Bash для поиска отсутствующего файла в последовательных файлах - PullRequest
0 голосов
/ 10 мая 2018

Я нашел здесь , код для Bash, чтобы он мог найти отсутствующий файл, и этот код прекрасно работает, потому что я не смогу узнать длину упорядоченных файлов, так что это можетнайти отсутствующий файл, не требуя от меня ввода последнего номера в последовательности.

Это код:

shopt -s extglob
shopt -s nullglob
arr=( +([0-9]).@(psd) )

for (( i=10#${arr[0]%.*}; i<=10#${arr[-1]%.*}; i++ )); do
   printf -v f "%05d" $i;
   [[ ! -f "$(echo "$f".*)" ]] && echo "$f is missing"
done

И он работает как в терминал , так и iTerm .

НО, при использовании в моем Applescript всегда отсутствует ответ с файлом 00000, когда он не :

set AEPname to "AO-M1P8"
set RENDERfolder to quoted form of POSIX path of "Volumes:RAID STORAGE:CACHES:RENDERS:AE"

set ISAEDONE to do shell script "cd /Volumes/RAID\\ STORAGE/CACHES/RENDERS/AE/AO-M1P8/
#!/bin/bash
shopt -s extglob
shopt -s nullglob
arr=( +([0-9]).@(psd) )

for (( i=10#${arr[0]%.*}; i<=10#${arr[-1]%.*}; i++ )); do
   printf -v f \"%05d\" $i;
   [[ ! -f \"$(echo \"$f\".*)\" ]] && echo \"$f is missing\"
done
"

display dialog ISAEDONE as text

(*
if ISAEDONE contains "is missing" then
    display dialog "FILE IS MISSING"
else
    display dialog "ALL FINE"
end if
*)

Что я делаю не так или есть более простой способ сделать это?

Заранее спасибо.

Снимок экрана


ОБНОВЛЕНИЕ

Похоже на то, как я это делал, оболочка не может получить каталог файлов. Если я ввожу каталог вручную, кажется, что он должен работать, но теперь я получаюновый тип ошибки:

sh: line 6: arr: bad array subscript
sh: line 6: arr: bad array subscript

Странно, так как я не получаю эту ошибку при ручном вставке кодав терминал.

Я обновил код.


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...