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

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

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

-Если элемент найден, скопируйте его в папку на рабочем столе с пометкой «цель».

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

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

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

Ответ: -bash: синтаксическая ошибка возле неожиданного токена `find '

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

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

Вот скриншот моей попытки автомата: Использование AppleScript или Automator для поиска и копирования изображений со строкой текста из текстового файла и копирования изображений в другую папку

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
155
1

Ответы 1

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

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 требуются обратная косая черта и точка с запятой?

по какой-то причине он теперь дает мне отказ в разрешении для моего файла .txt ... просто пытаюсь понять это сейчас

Mittens 18.12.2018 01:58

Можете показать вывод ls -l Desktop/austinproductlist.txt?

Andy J 18.12.2018 02:31

Я ищу строку из 10 символов, показывающую права доступа для этого файла :).

Andy J 18.12.2018 04:23

iMac: ~ azfour $ ls -l Desktop / austinproductlist.txt -rw-r - r - @ 1 персонал azfour 112 17 дек, 17:12 Рабочий стол / austinproductlist.txt

Mittens 18.12.2018 18:58

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

Mittens 18.12.2018 19:19

Если вы отформатируете входной текстовый файл по одному имени в строке с расширениями, он будет работать :).

Andy J 21.12.2018 08:45

Другие вопросы по теме