Bja*_*sen 4 utilities text-processing conversion binary files
我有一个文件,其中包含用换行符分隔的以 ascii 编写的一长串整数,如下所示:
-175
2
-19345
345592
-45
2355
Run Code Online (Sandbox Code Playgroud)
等等...
我想将此文件转换为包含相同整数的“二进制”文件,写为实际的 4 字节整数。
我可以使用什么命令行工具来实现这一点?
perl -pe '$_=pack"l",$_' < infile > outfile
Run Code Online (Sandbox Code Playgroud)
使用本地字节序。使用l>代替l大端和l<小端。
查看perldoc -f pack更多信息。
请注意,它是l小写的L(对于long integer),而不是1数字。
$ printf '%s\n' 1234 -2 | perl -pe '$_=pack"l",$_'| od -vtd4
0000000 1234 -2
0000010
$ printf '%s\n' 1234 -2 | perl -pe '$_=pack"l>",$_'| od -vtx1
0000000 00 00 04 d2 ff ff ff fe
0000010
Run Code Online (Sandbox Code Playgroud)