Intereting Posts
Как сделать все, что делает «make install», с «install» для предварительно скомпилированного пакета? Как я могу применить исправления программного обеспечения? Как показать результаты, найденные в выражении if then? Regex: нужна помощь с использованием awk и sed для соответствия веб-сайтам по IP-адресу Установка второго жесткого диска Как я могу передавать данные по сети или последовательно на дисплей другой Linux-машины? Итерируйте файл до тех пор, пока не будет извлечено каждое значение выше порогового значения VMware трассирует только хост-виртуальную машину через двойную виртуальную машину только для хоста / NAT bcache не работает, как ожидалось, с помощью ramdisk в качестве устройства кэширования Обработать файлы для создания нового файла Продвинутое программирование в Unix Envinronment 3rd, 4.21, я хочу, как rmdir обрабатывает количество ссылок Упаковка Debian: пользовательские расширения файлов для lib * package $ 1 не работает с sed Является ли замена конкретной строки в файле с помощью сценария bash, возможного в VIM или EX? Можно ли ссылаться на последний измененный файл в аргументе командной строки?

Сохранение вывода команды поиска в переменную

Я пытаюсь сохранить результаты поиска в переменную следующим образом:

a=find /Users/Downloads/DTI_allsites/subprojects/*/UII_0077 -name "dti_preprocessed" -type d 

Но я продолжаю получать следующее сообщение:

-bash:

/ Пользователи / Загрузки / DTI_allsites / подпроекты / UII_B / UII_0077: это каталог

всякий раз, когда я пытаюсь использовать команду, вывести путь, используя: echo $a

Я ничего не сохраняю в переменной. Как я могу это исправить?

Так как find возвращает список путей к файлам, вам нужно использовать переменную массива. Поскольку путь к файлу может содержать любой символ, кроме NUL, вы должны использовать -print0 и разделить результат на NUL.

С bash4.4 +:

 readarray -td '' list < <(find ... -print0) so-something-with "${list[@]}"