ID를 반복하고 파일의 체크섬을 비교할 수 있도록 파일 이름에 고유 한 ID를 갖고 싶습니다. 파일 이름마다 고유 한 ID를 가질 수 있도록 파일 이름에 대한 체크섬을 사용할 수 있습니까? 다른 아이디어를 환영합니다.셸에서 문자열에 체크섬 (md5)을 생성 할 수 있습니까?
0
A
답변
3
원하는 것은 무엇입니까?
일반 문자열 :
[email protected]:~$ echo "Hello, checksum!" | md5sum
9f898618b071286a14d1937f9db13b8f -
그리고 파일 내용 :
[email protected]:~$ md5sum agent.yml
3ed53c48f073bd321339cd6a4c716c17 -
3
예는 md5sum
및 basename $0
를 사용 가능하다 내가 아래 스크립트를 가정하면 현재 파일
의 이름을 제공합니다 이름이 md5Gen.sh
스크립트를 실행하면 예, 문자열의 MD5를 얻을 수있다
md5Gen.sh 911949bd2ab8467162e27c1b6b5633c0 -
0
나에게 줄 것입니다 :
$ printf '%s' "This-Filename" | md5sum
dd829ba5a7ba7bdf7a391f2e0bd7cd1f -
더 줄 바꿈이 끝이 없다는 것을 이해하는 것이 중요합니다 인쇄 된 문자열의 bash는 동등한 사용하는 것입니다 echo -n
:
$ echo -n "This-Filename" | md5sum
dd829ba5a7ba7bdf7a391f2e0bd7cd1f -
그렇지 않으면 해시 텍스트의 일부가 아닌 줄 바꿈의 포함으로 변경 때문에 (bash는 유효)을 -n
가 중요하다
$ echo "This-Filename" | md5sum
7ccba9dffa4baf9ca0e56c078aa09a07 -
또한 내용을 파일에 적용
: 당신은 고유 한 파일 이름을 원하는 경우
$ echo -n "This-Filename" > infile
$ md5sum infile
dd829ba5a7ba7bdf7a391f2e0bd7cd1f infile
$ echo "This-Filename" > infile
$ md5sum infile
7ccba9dffa4baf9ca0e56c078aa09a07 infile
당신은 파일 내용의 경우는 SI와 함께 작동합니다 mktemp는 시도 – PerroVerd