xxd
に、出力に改行を出力せず、ダンプを1つの連続した行として出力するように指示できますか?
[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
必要なのは-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は、1行あたりのオクテットをフォーマットします。デフォルト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文字で表され、追加のバイトは最後の改行です。