считать файлы, найденные функцией find в скрипте оболочки, и сохранять их в массиве - PullRequest
0 голосов
/ 08 октября 2018

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

(find . -name 2D.py)

, он находит два файла:

./Desktop/2D.py
./libcpab-master/2D.py

и сохраняет их в файл:

file=$(find . -name 2D.py)

и считает их:

echo "${#key[@]}"

У меня только одно имя.Должно быть 2 файла.Кроме того, когда я сохраняю файл в массиве, есть только один элемент.

Надеюсь, вы можете помочь.

1 Ответ

0 голосов
/ 08 октября 2018

Вы должны определить переменную file как массив.Попробуйте это

> find . -name 2D.py
./Desktop/2D.py
./libcpab-master/2D.py
> set -A file
> file=$(find . -name 2D.py)
> echo "${file[*]}"
./Desktop/2D.py
./libcpab-master/2D.py
> echo "${file[*]}" > file_list
> cat file_list
./Desktop/2D.py
./libcpab-master/2D.py
> wc file_list
 2  2 39 file_list
>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...