我能否告诉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发布于 2016-10-10 16:04:25
您需要的是-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格式为每行八进制。默认16 (-i: 12,-ps: 30,-b: 6)。最多256。
文档显示,"c“参数的最大值为256,但我尝试了更大的值,它起作用了。看一看:
# xxd -c 1000000 -p -l 1000000 /dev/urandom | wc -c
2000001在这里,我从/dev/随机转储了100万字节,并得到了一个200万+1个字符的字符串。/dev/random中的每个字节由2个字符表示,附加字节是最后的换行符。
发布于 2022-06-16 08:58:54
对于xxd版本2022-01-14 (附带vim8.2.4088)或更新版本,您现在可以使用值为0的'-p‘和'-c’,如手册页中所述:
-ccols \-colscols格式为每行八字节。默认16 (-i:12,-ps:30,-b:6)。最多256。没有maxmimum 碳化硅用于-ps。使用-ps,0将产生一行长的输出。
例如:
$ echo "Lorem Ipsum is simply dummy text of the printing and typesetting industry." | xxd -p -c0
4c6f72656d20497073756d2069732073696d706c792064756d6d792074657874206f6620746865207072696e74696e6720616e64207479706573657474696e6720696e6475737472792e0ahttps://unix.stackexchange.com/questions/218514
复制相似问题