Мне нужно получить сумму md5 файла в AIX, но программа md5sum
печатает сумму, за которой следует имя файла.
Как я могу получить сумму без имени файла.
md5sum filename | awk '{print $1}'
Это было бы одним из способов.
md5sum < filename
Это даст вам пустое имя файла.
Также:
md5sum filename | cut -c -32
Преимущество заключается в отсутствии кавычек или символов, которые необходимо экранировать, в случае, если вам нужно внедрить эту команду куда-нибудь, что может иметь несколько строковых интерпретаторов, действующих на нее.
Еще один способ сделать:
md5sum filename |cut -f 1 -d " "
Cut разделит линию на каждое поле и вернет только первое поле.
Очень простой способ - назначить вывод массиву, как описано здесь:
md5=( $(md5sum "filename") )
echo $md5
Другой способ - убрать пространство и все, что после него:
md5=$(md5sum "filename")
echo ${md5/ *}