stat -c "%Y/%n/%y" * | awk -F'/' 'NR==1,NR==3 {print $2"|"$3}'
или:
stat -c "%Y/%n/%y" * | awk -F'/' 'BEGIN {OFS="|"} NR==1,NR==3 {print $2,$3}'
Пояснение:
Вместо
#
вы можете использовать/
(разделитель каталогов ), так как он не может быть частью имени файла.Разделитель полей ввода
awk
должен быть установлен соответствующим образом:-F'/'
.Как уже отмечалось в комментарии @steeldriver , у вас есть два способа выбора разделителя выходных полей.
- Использовать конкатенацию строк:
print $2"|"$3
.- Определите
OFS="|"
и затемprint $2,$3
.Я выбрал одинарные кавычки
'
вместо двойных кавычек"
, что уменьшает потребность в экранировании в этом случае.Обновление:
Поскольку вопрос теперь указывает, что вывод
stat
может содержать разделитель каталогов,/
не будет разумным выбором для разделителя записей. Единственный известный мне другой символ, который не разрешен в именах файлов, — этоNUL
, но его использование проблематично, по крайней мере, в этом случае. Мое предложение состояло бы в том, чтобы составить неудобную строку, которая очень маловероятна (, хотя и позволяла найти )как часть имени файла. Случайно,\x0
(, которое является представлениемNUL
), может быть хорошим выбором:stat -c "%Y\x0%n\x0%y" * | awk -F\x0 'BEGIN {OFS="|"} NR==1,NR==3 {print $2"|"$3}'
Платформа для Gnome уже существует. Немного упрощенно это выглядит так:
hardware -> libfprint ---> fprintd --
| |-> Gnome
|--> pam module --
Как только вы добавите поддержку своего устройства в libfprint, все остальное будет работать.
Проверьте страницу проекта fprint , особенно раздел о libfprint. Вы можете зайти в их репозиторий git и создать задачу , чтобы запросить поддержку вашего оборудования. Включите всю информацию, которая у вас есть на доске. Дайте им знать, что вы, возможно, готовы написать сами.
Судя по тому, что я видел, кто-нибудь быстро скажет вам, возможно ли это, и может даже подсказать (подобное оборудование ), как начать.