Редактирование метаданных с ударом

Ваш Mail Mail Команда ожидает, что его сообщение будет на stdin, и поэтому читает остаток выхода, сгенерированного вашим ... AWK Отказ

Если вы действительно не хотите, чтобы тело сообщения в вашем почте, просто труба stdin из / dev / null :

mail -s "Critical Warning: Filesystem $part is at $usage% of capacity." $USER </dev/null
0
01.05.2014, 20:37
2 ответа

Не проверено, в качестве отправной точки вы можете адаптировать:

for pic in *.jpeg *.bmp *.png; do
  serial="${pic%.*}"
  if test -r "${serial#photo-}"; then
    tags=`sed -n 's/.*<meta name="keywords" content="\([^"]*\)".*/\1/p' "${serial#photo-}"`
    # do what you want with "$pic" using "$tags"
  fi
done

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

0
28.01.2020, 05:00

Перед обработкой всех ваших файлов лучше установить нужное поле с помощью вашего любимого графического инструмента. Затем проанализируйте файл с помощью exiftool :

.
exiftool -XMP:all -IPTC:all test.jpg

Будет напечатано точное имя поля. После этого вы можете пакетно обрабатывать все файлы. Например, чтобы установить XMP:description, введите:

exiftool -XMP:description="the" test.jpg

Альтернативой являются инструменты identifyи convertиз пакета ImageMagick.

Для извлечения из html я рекомендую пакет perl HTML -Дерево

Дан файл test.htmlсо следующим содержимым:

<html><head>
<meta name="keywords" content="tag1, tag2, tag3, etc" />
</head>
<body></body>

запустите этот perl-скрипт для извлечения тегов:

use HTML::TreeBuilder 5 -weak; # Ensure weak references in use
my $tree = HTML::TreeBuilder->new; # empty tree
$tree->parse_file("test.html");
my $meta = $tree->look_down(
  _tag => "meta",
  name => "keywords"
);
print $meta->attr("content");
0
28.01.2020, 05:00

Теги

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