Я нашел, "находят", что команда намного быстрее, чем "Центр внимания" в Mac OS X, я скорее визуализирую результаты с automator без удачи, таким образом, я надеюсь, что фанаты вокруг SU помогут с решением об этом
shellscript.sh searchphrase выполняется:
создайте папку на настольных "Результатах" если не там
удалите все на этой папке (новые результаты)
результат foreach создает символьную ссылку
спасибо
Вот версия с несколькими улучшениями.
Не включайте свое имя пользователя в сценарий, используйте ~
обращаться к Вашему корневому каталогу.
Сохраните название каталога результатов в переменной. Это иллюстрирует, как использовать переменную в сценарии оболочки.
Сделайте часть, которая удаляет результат предыдущего более устойчивого поиска: это не удалит ничего, что это не символьная ссылка.
Самое важное: Ваша версия перестала бы работать с именами файлов, содержащими пробелы или некоторые специальные символы, потому что оболочка делает некоторый перепарсинг результата $(...)
и $file
. Необходимо всегда помещать подстановки переменных в двойные кавычки (т.е. запись "$file"
). Моя версия работает правильно со всеми именами файлов (кроме того, если они содержат новые строки, но это неизбежно с locate
).
#!/bin/bash
results_dir=~/Desktop/results
mkdir -p "$results_dir"
find "$results_dir" -type l -exec rm {} +
echo "Please enter some input: "
read -r input_variable
locate "$input_variable" | while read -r line; do
ln -s "$line" "$results_dir/"
done
мой успех:
#!/bin/bash
rm -rf /Users/arpecop/Desktop/results/
mkdir /Users/arpecop/Desktop/results/
echo "Please enter some input: "
read input_variable
for file in $(locate "$input_variable")
do
ln -s $file /Users/arpecop/Desktop/results/
done