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
버전 xxd
2022-01-14(포함됨vim
8.2.4088) 이상에서는 이제 -p
and를 사용 -c
하고 그 값을 0으로 설정할 수 있습니다.매뉴얼 페이지:
-c
목록|-cols
목록체재목록한 줄당 옥텟. 기본값은 16(
-i
:12,-ps
:30,-b
:6)입니다. 최대 256개. 최대값은 없습니다-ps
. 의 경우-ps
0은 긴 출력 줄을 생성합니다.
예를 들어:
$ echo "Lorem Ipsum is simply dummy text of the printing and typesetting industry." | xxd -p -c0
4c6f72656d20497073756d2069732073696d706c792064756d6d792074657874206f6620746865207072696e74696e6720616e64207479706573657474696e6720696e6475737472792e0a