Isso é documentado , para o Coreutils ' md5sum
:
If file contains a backslash or newline, the line is started with a backslash, and each problematic character in the file name is escaped with a backslash, making the output unambiguous even in the presence of arbitrary file names.
( arquivo é o nome do arquivo, não o conteúdo do arquivo).
b2sum
, sha1sum
e os vários SHA-2 se comportam da mesma maneira que md5sum
. sum
e cksum
não; sum
é fornecido somente para compatibilidade com versões anteriores (e seus antecessores não produzem saída com cotação) e cksum
é especificado por POSIX e não permite este tipo de saída.
Este comportamento foi introduzido recentemente , na versão 8.25 (janeiro de 2016), com a seguinte entrada NEWS
:
md5sum
now ensures a single line per file for status on standard output, by using a '\' at the start of the line, and replacing any newlines with '\n'. This also affectssha1sum
,sha224sum
,sha256sum
,sha384sum
andsha512sum
.
A barra invertida no início da linha serve como um sinalizador: escapes em nomes de arquivos são processados somente se a linha começar com uma barra invertida. (O escape não pode ser o comportamento padrão: ele quebraria as somas geradas com versões mais antigas do Coreutils contendo \
ou \n
nos nomes de arquivos armazenados.)