Использование AppleScript или Automator для поиска и копирования изображений со строкой текста из текстового файла и копирования изображений в другую папку - PullRequest
0 голосов
/ 18 декабря 2018

Вот что я пытаюсь сделать:

-Поиск первого элемента в файле austinproductlist.txt внутри папки и всех ее подпапок

-Если элементнайдено, скопируйте его в папку на рабочем столе, помеченную как "target"

-повторите для каждого элемента, указанного в файле .txt

Моя попытка с помощью терминала:

$for i in `cat ~/Desktop/austinproductlist.txt’find ~/desktop/AustinWebImages -type f -name "$i" -exec cp "{}" ~/Desktop/target ;

Ответ: -bash: синтаксическая ошибка рядом с неожиданным токеном `find '

Моя попытка AppleScript:

Мне кажется, проблема в том, что команда ищет точное имя файла, а не то, что янужно искать это строка внутри имени файла.Если имя файла содержит эту строку, я хотел бы скопировать ее в папку «target».

Вот снимок экрана с моей попыткой автоматизатора: enter image description here

1 Ответ

0 голосов
/ 18 декабря 2018

Есть только две проблемы с вашим скриптом:

1) Для вашего цикла for нужны do и done.

2) Для действия -exec требуется обратная косая чертав конце (\)

Попробуйте:

#!/bin/bash
for i in `~/Desktop/austinproductlist.txt`;
  do find ~/desktop/AustinWebImages -type f -name "$i" -exec cp "{}" target \;
done

На случай, если вас интересует завершающий обратный слеш;действие -exec принимает каждую команду вплоть до ;, которую необходимо экранировать, поскольку оболочка также использует ее, и в противном случае завершает команду find.

Почему обратная косая черта и точка с запятойтребуется с параметром -exec команды find?

...