줄 바꿈 없이 xxd 출력

줄 바꿈 없이 xxd 출력

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

답변1

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

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

746869732069732061206c6f6e67206c696e6520616e64207878642077696c6c207072696e74206974206173206f6e65206c696e65

다음은문서:

-c 열 | -cols cols 행당 옥텟 형식을 지정합니다. 기본값은 16(-i: 12, -ps: 30, -b: 6)입니다. 최대 256개.

문서에는 "c" 매개변수의 최대값이 256이라고 되어 있지만 더 큰 값을 시도했더니 제대로 작동했습니다. 확인 해봐:

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

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

답변2

버전 xxd2022-01-14(포함됨vim8.2.4088) 이상에서는 이제 -pand를 사용 -c하고 그 값을 0으로 설정할 수 있습니다.매뉴얼 페이지:

-c 목록|-cols 목록

체재목록한 줄당 옥텟. 기본값은 16( -i:12, -ps:30, -b:6)입니다. 최대 256개. 최대값은 없습니다 -ps. 의 경우 -ps0은 긴 출력 줄을 생성합니다.

예를 들어:

$ echo "Lorem Ipsum is simply dummy text of the printing and typesetting industry." | xxd -p -c0 
4c6f72656d20497073756d2069732073696d706c792064756d6d792074657874206f6620746865207072696e74696e6720616e64207479706573657474696e6720696e6475737472792e0a

관련 정보