Пакеты Python38 в Fedora 31 yum

Вы, конечно, можете использовать find, но также реже updatedbи locate.

Во-первых, нам нужно использовать updatedbдля создания базы данных существующих файлы, которые будут использоваться последующими командами locate. Идти к /home/me/filesи сделать:

updatedb --require-visibility 0 -o locate.db -U.

Теперь мы готовы использовать locateвместе с Bash {a..b}синтаксис для поиска списка файлов. Например:

$ locate -d./locate.db file_{112..125}.txt
./files_11/file_112.txt
./files_11/file_113.txt
./files_12/file_124.txt
./files_12/file_125.txt
$ locate -d./locate.db file_{100..105}.txt
./files_10/file_100.txt
./files_10/file_102.txt
./files_10/file_105.txt
$ locate -d./locate.db file_{103..106}.txt
./files_10/file_105.txt
./files_10/file_106.txt

Чтобы показать только количество найденных файлов, направьте locateвывод через wc -l.

Преимущество этого решения в том, что locateработает очень быстро.

Недостатком является то, что вам придется повторно -создавать базу данных вручную. каждый раз, когда добавляются или переименовываются новые файлы (или, возможно, используетсяinotify)и что locateне может заменить найденные имена файлов на NUL, что привести к тому, что wc -lвернет неверный счетчик в случае файлов, которые имеют новую строку в их именах.

0
26.11.2020, 20:32
1 ответ

В Fedora пакеты Python 3, отличные от интерпретатора, имеют префикс python3-; таким образом dnf install python3-devel.

Fedora 31 использует Python 3.7. Он подошел к концу, поэтому вам следует обновить его. Fedora 32 даст вам Python 3.8, 33 даст вам 3.9.

0
18.03.2021, 22:46

Теги

Похожие вопросы