Как создать строку случайного ответа типа "да, нет, может быть, нет?

Вы можете сделать небольшой shell-скрипт, который вычисляет md5sum нескольких файлов входящих сообщений и сравнивает его с сохраненным. Если хэши отличаются, значит, вы получили новое письмо, тогда новый вычисленный хэш заменит старый. Запустите это в задании cron и используйте notify-send из libnotify, чтобы предупредить вас.

#!/bin/bash
MAILBOXES=/your_mailbox_directory
while true
do 
    inotifywait -r -e modify $MAILBOXES && notify-send 'New mail' 'You just recieved a new mail' --icon=dialog-information
done
-2
29.03.2019, 18:47
2 ответа

Делаем некоторые предположения о ваших данных:

$ cat file.xml
<root>
  <node1>
    <node2 ReqId="XXXXX" TxnTyp="4" Actn="1" BizDt="2019-03-27" TxnTm="2019-03-27T10:41:13" AdjTyp="3" SetSesID="EOD"> 
    </node2>
  </node1>
</root>

$ txn_tm=$( xmlstarlet sel -t -v '//node2/@TxnTm' file.xml )

$ echo "$txn_tm"
2019-03-27T10:41:13

Если вы хотите выбрать узел на основе ReqId, то нам нужно настроить xpath, :возвращающий значение атрибута «TxnTm» для любого узла с указанным атрибутом «ReqId».

xmlstarlet sel -t -v '//*[@ReqId = "XXXXX"]/@TxnTm' -n file.xml
3
28.01.2020, 05:15

Более простой вариант с использованием только grep, хотя опять же с предупреждением о том, что использование инструментов регулярных выражений для разбора XML или XHTML — это -билет в один конец -в печаль -город:

$ grep -m1 -oE '"[0-9]{4}-[0-9]{2}-[0-9]{2}"' input
"2019-03-27"
0
28.01.2020, 05:15

Теги

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