Однострочное в Ubuntu / Macos для печати контрольной суммы файла - PullRequest
1 голос
/ 12 марта 2019

Есть ли короткая однострочная строка для получения контрольной суммы файла, которая работает как на macos, так и на ubuntu?Не имеет значения, какой алгоритм или программа, пока мне не нужно ничего устанавливать или настраивать.

Ответы [ 5 ]

3 голосов
/ 12 марта 2019

Вы можете использовать OpenSSL, и команды должны быть одинаковыми:

openssl sha256 filename | awk -F'= ' '{print $2}' # optional

Использовать любой алгоритм хеширования, который вы хотите, sha256,sha1, md5 и т. Д.

1 голос
/ 12 марта 2019

Просто попробуйте оба из них:

md5 file 2>/dev/null; md5sum file 2>/dev/null;

Эта строка будет работать в обеих ОС, при запуске обеих команд и отбрасывании той, которая выдает ошибку, будет напечатан только действительный результат.

0 голосов
/ 12 марта 2019

В Linux вы можете использовать md5sum file; в macOS просто md5 file. Оба по умолчанию при чистой установке, AFAIK. Если вам требуется, чтобы команда была одинаковой, вы можете создать псевдоним .

0 голосов
/ 12 марта 2019

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

python -c 'import sys, hashlib;
m = hashlib.sha256(); 
m.update(open(sys.argv[1]).read());
print("\t".join([m.hexdigest(), sys.argv[1]]))' file

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

0 голосов
/ 12 марта 2019

При быстрой проверке ОС вы можете использовать либо md5 (mac), либо md5sum (ubuntu), либо вы можете использовать псевдоним одного из них, чтобы использовать одну и ту же команду в любой из ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...