Это чистый Bash (т. е. никаких внешних команд), и это самый совпадающий подход, о котором я могу думать.
Но производительность по-настоящему не намного лучше, чем у вас в настоящее время.
Он будет читать каждую строку из path/to/file; для каждой строки он сохранит первое поле в $uuid и распечатает сообщение, если файл, соответствующий шаблону path/to/directory/$uuid*, , но найден:
#! /bin/bash
[ -z "$2" ] && printf 'Not enough arguments.\n' && exit
while read uuid; do
[ ! -f "$2/$uuid"* ] && printf '%s missing in %s\n' "$uuid" "$2"
done <"$1"
Позвонить с помощью path/to/script path/to/file path/to/directory.
Образец вывода с использованием образца входного файла в вопросе об иерархии тестового каталога, содержащего образец файла в вопросе:
% tree
.
├── path
│ └── to
│ ├── directory
│ │ └── d6f60016-0011-49c4-8fca-e2b3496ad5a7_20160204_023-ERROR
│ └── file
└── script.sh
3 directories, 3 files
% ./script.sh path/to/file path/to/directory
d5873483-5b98-4895-ab09-9891d80a13da* missing in path/to/directory
be0ed6a6-e73a-4f33-b755-47226ff22401* missing in path/to/directory
На экране входа в систему мне удалось добраться до tty ctrl+alt+F3. На tty я побежал
dpkg --configure -a
На этот раз это удалось, потому что я не был в режиме восстановления.
Наконец, мне удалось установить драйвер видеокарты
sudo ubuntu-drivers autoinstall
После перезагрузки я могу войти в систему в порядке. Кажется, это ошибка для меня.
На экране входа в систему мне удалось добраться до tty ctrl+alt+F3. На tty я побежал
dpkg --configure -a
На этот раз это удалось, потому что я не был в режиме восстановления.
Наконец, мне удалось установить драйвер видеокарты
sudo ubuntu-drivers autoinstall
После перезагрузки я могу войти в систему в порядке. Кажется, это ошибка для меня.