В то время как Digikam нуждается в базе данных, он поставляется в комплекте с showPhoto (у меня есть версия 4.0.0beta3 прямо сейчас, не знаю, было ли showPhoto доступно в более ранних версиях). showPhoto - автономный просмотрщик изображений без базы данных. Он отображает практически те же метаданные, что и у Digikam. Это хороший вариант для тех, кому нужны оба: управление отдельными активами и быстрый просмотрщик с функциями редактирования ...
Лично я тоже могу порекомендовать Gwenview. Отображение метаданных может быть полностью настроено и отображать все типы данных.
EDIT:
Создайте файл, вызовите его, как вам нравится, и скопируйте скрипт awk в него. chmod +x scriptname.awk, чтобы сделать его исполняемым.
#!/usr/bin/awk -f
BEGIN {var_num=0}
/VARIABLES/,/}/ {
sub("{","");
sub("}","");
sub("VARIABLES","");
if ($0~/[[:alpha:]],/||/[[:alpha:]]/)var_num+=1
}
/DESCRIPTION/{
getline; printf "%s,",$0
}
/::=/ {
printf $2","
}
END{ printf var_num }
Теперь вот мой пример запуска скрипта:
$ IFS=","; ARRAY=($(./three-lines.awk test-text.txt | xargs echo ))
$ echo ${ARRAY[0]}; echo ${ARRAY[1]}; echo ${ARRAY[2]}
SNMP Agent is up.
101
5
Effectivelly, это создает массив из трех элементов, и эти элементы - это то, что извлекает скрипт awk из файла , Regex [[: alpha:]] используется для рассмотрения алфавитных сценариев и алфавитных строк с комами в качестве переменных, поэтому var_num получает приращение; если нет строк, соответствующих этому шаблону, var_num не увеличивается EDIT
Вот мой однострочный awk:
awk 'BEGIN {var_num=0} /VARIABLES/,/}/ {sub("{","");sub("}","");sub("VARIABLES",""); var_num+=1} END{ print var_num}' test-text.txt
Основная идея: создать переменную var_num, сообщить awk, чтобы читать все строки, содержащие строку VARIABLES и фигурные скобки}. Избавьтесь от этой строки, всех фигурных скобок, и у нас есть только строки, представляющие переменные. Добавьте 1 для каждой строки в var_num. В конце - напечатайте общее количество подсчитанных переменных.
Причина удаления VARIABLES и фигурных скобок заключается в том, что мы не хотим подсчитывать строки, содержащие только строку VARIABLE или фигурные скобки. Итак, нам нужно убедиться, что они ушли.
Еще один шаблон, который я заметил, состоит в том, что каждая переменная разделяется на группы. Таким образом, вы можете использовать оператор if, что-то вроде if ($0~/,/) { var_num+=1 }