Существует несколько вариантов минимальных, агентов передачи почты только для реле (MTAs или "почтовые серверы"), некоторые из которых были упомянуты в других ответах:
Для любого из тех для работы Вам нужен абсолютный MTA где-нибудь, который далее передаст Ваши сообщения (известный как "почтовый концентратор"), и настоятельно рекомендуется управлять этим почтовым концентратором. Плохой Things™ может произойти иначе.
Можно использовать сокращение команды; это позволяет, Вы для вырезания определенного символа/байт колеблетесь от каждой входной строки. Так как хеш MD5 имеет фиксированную длину (32 символа), можно использовать опцию -c 1-32
сохранять только первые 32 символа от входной строки:
echo -n test | md5sum | cut -c 1-32
С другой стороны, можно сказать cut
разделять строку в каждом пространстве и производить только первое поле: (отметьте кавычки вокруг пробела),
echo -n test | md5sum | cut -d " " -f 1
См. страницу справочника сокращения для большего количества опций.
Вы можете cut
это:
echo -n 'test' | md5sum | cut -d' ' -f1
Здесь, -d' '
выбирает пространство в качестве разделителя, и -f1
просит первое поле (перед разделителем).
Использование awk тоже работает нормально:
echo -n 'test' | md5sum | awk '{print $1}'
Другой способ делает подстроку. Потому что вы знаете, HASH MD5 - это строка с 32 символами, вы можете использовать:
HASH=$(echo -n 'test' | md5sum -) && echo ${HASH:0:32}
Это просто строковые манипуляции, поэтому у вас есть выбор!
-d
+-f
так, чтобыmd5sum
может быть замененsha1sum
или безотносительно позже. – Stéphane Gimenez 17.08.2011, 01:45awk
работы также:echo -n test | md5sum | awk -F" " '{print $1}'
илиawk -F" " '{print $1}' <(echo -n test | md5sum)
– laebshade 17.08.2011, 02:48-F" "
опция кawk
является очень странным для наблюдения, учитывая, что это - значение по умолчанию дляawk
. – enzotib 17.08.2011, 07:43