6

Мне нужно получить сумму md5 файла в AIX, но программа md5sum печатает сумму, за которой следует имя файла.

Как я могу получить сумму без имени файла.

5 ответов5

10
md5sum filename | awk '{print $1}'

Это было бы одним из способов.

6
md5sum < filename

Это даст вам пустое имя файла.

3

Также:

md5sum filename | cut -c -32

Преимущество заключается в отсутствии кавычек или символов, которые необходимо экранировать, в случае, если вам нужно внедрить эту команду куда-нибудь, что может иметь несколько строковых интерпретаторов, действующих на нее.

2

Еще один способ сделать:

md5sum filename |cut -f 1 -d " "

Cut разделит линию на каждое поле и вернет только первое поле.

1

Очень простой способ - назначить вывод массиву, как описано здесь:

md5=( $(md5sum "filename") )
echo $md5

Другой способ - убрать пространство и все, что после него:

md5=$(md5sum "filename")
echo ${md5/ *}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .