xxd가 출력에 줄바꿈을 추가하는 것을 방지합니다.

xxd가 출력에 줄바꿈을 추가하는 것을 방지합니다.

내가한다면 유닉스에서

printf "aY.S'Hk([;jYJ}8eJ5)Wsd58/x}s]Pne3V-6:t@" | xxd -p -c 256 

알겠어요

61592e5327486b285b3b6a594a7d38654a352957736435382f787d735d50 
6e6533562d363a7440

그러나 Mac OS에서는 (Linux에서도 원하는 것입니다)

61592e5327486b285b3b6a594a7d38654a352957736435382f787d735d506e6533562d363a7440

xxd16진수 출력에 개행 문자가 추가되는 것을 방지하는 방법을 찾을 수 없습니다 . 줄 바꿈을 제거하려고 시도했지만 sed작동하지 않습니다. tr내 UNIX 시스템에 설치할 수 없습니다 . 줄바꿈이나 공백 없이 문자열에서 16진수 출력을 생성할 수 있는 방법이 있습니까? 아니면 xxdLinux에서 공백을 추가하지 않도록 구성하는 방법이 있습니까? 거의 모든 옵션을 시도했지만 xxd운이 없었습니다.

답변1

나는 이것을 시도했습니다 (macos Ventura 13.4 (22F66), bash 5.2.15(1)-release):

$ echo -n "change this password to a secret" | xxd -p
6368616e676520746869732070617373776f726420746f20612073656372
6574

그런 다음 무작위로 시도해 보십시오(단서가 없습니다 :);

$ echo -n "change this password to a secret" | xxd -p -c 0
6368616e676520746869732070617373776f726420746f206120736563726574

이것이 내가 찾고 있던 것입니다. 아마도 이것이 도움이 될 것입니다.

관련 정보