줄 바꿈이없는 XXD 출력


13

나는 말할 수 xxd출력에 줄 바꿈을 인쇄하고 하나의 연속 선으로 내 덤프를하지?

[user@localhost] : ~ $ echo -n "this is a long line and xxd is going to take multiple lines to print it" | xxd -p
746869732069732061206c6f6e67206c696e6520616e6420787864206973
20676f696e6720746f2074616b65206d756c7469706c65206c696e657320
746f207072696e74206974

5
tr바꿈을 삭제하는 데 간단히 사용할 수 있습니다 . 예 :... | xxd -p | tr -d \\n
don_crissti

그것은 당신이 필요로하는 것에 달려 있지만, 편리한 옵션 중 하나 는 postcript / plain dump (또는 그 문제에 대한 일반 hexdump) xxd의 역행 -r을 위해 공백을 무시한다는 것 -p입니다. 예. 다음 줄은로 줄 바꿈 \n되지만 반전 된 출력은 정확히 입력 된 내용입니다. echo {1..14} | xxd -p | xxd -p -r출력을 생성합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14\n – – \nfrom fromecho
Peter.O

1
hexdump -v -e '/1 "%02X"'대신에 사용할 수도 있습니다 xxd.
dirkt

답변:


15

필요한 것은 -c 옵션입니다.

# echo -n "this is a long line and xxd will print it as one line" | xxd -p -c 1000000

746869732069732061206c6f6e67206c696e6520616e64207878642077696c6c207072696e74206974206173206f6e65206c696e65

다음은 설명서의 일부 정보입니다 .

-c cols | -cols cols는 한 줄에 8 진수를 포맷합니다. 기본 16 (-i : 12, -ps : 30, -b : 6) 최대 256

문서에 따르면 "c"매개 변수의 최대 값은 256이지만 더 큰 값을 시도하여 작동했습니다. 확인 해봐:

# xxd -c 1000000 -p -l 1000000 /dev/urandom | wc -c
2000001

여기서는 / dev / random에서 백만 바이트를 덤프하고 2 백만 + 1 문자의 문자열을 얻습니다. / dev / random의 각 바이트는 2 자로 표시되며 추가 바이트는 마지막 줄 바꿈입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.