从 Unix 转换为 Linux 并使用选项 conv=asciib 进行 dd

从 Unix 转换为 Linux 并使用选项 conv=asciib 进行 dd

我正在将一些 SAS 程序从 Unix 服务器转换为 Linux 程序。

嵌入 SAS 程序中我有命令

dd if=myfile.txt ibs=1 cbs=10 count=10 skip=0 conv=asciib

在 Unix 上,给出以下输出:

31.08.2021
10+0 records in
0+1 records out

该命令在 Linux 上给出错误:

dd: invalid conversion: ‘asciib’
Try 'dd --help' for more information.

我尝试过

dd if=myfile.txt ibs=1 cbs=10 count=10 skip=0 conv=ascii

但我得到的输出与 Unix 的有点不同:

31.08.202110+0 records in
0+1 records out
10 bytes (10 B) copied, 4.8966e-05 s, 204 kB/s

是否有可能在 Linux 中得到与在 Unix 中完全相同的结果?对于“完全相同的输出”,我打算在日期之后有一个新行并且没有该行

10 bytes (10 B) copied, 4.8966e-05 s, 204 kB/s

我需要准确的输出,因为之后它会被 SAS 程序使用。

根据需要:
在 Unix 中:
命令:

dd if=myfile.txt ibs=1 cbs=10 count=10 skip=0 conv=asciib 2>/dev/null | od -c

结果:

Ambiguous output redirect

在 Linux 中:
命令:

dd if=myfile.txt ibs=1 cbs=10 count=10 skip=0 conv=ascii 2>/dev/null | od -c

结果:

0000000   3   1   .   0   8   .   2   0   2   1
0000012`enter code here`

相关内容