linux 最快的方法来创建一个新的文件与一个特定数量的零的

nzk0hqpo  于 5个月前  发布在  Linux
关注(0)|答案(3)|浏览(66)

我有一个目录树,在每个目录中有一个文件称为zero-file
我希望这个文件被初始化与具体的零的数字,例如1000000000。
我想写ASCII字符'0'
我找到了两个解决方案

for i in `seq 1 10000000000`
do
    echo -n 0 >> zero-file
done

字符串
第二个是这样的:我初始化了一个名为base的文件,并在每个目录中复制这个文件

cp base zero-file


这样更快,我想知道有没有更快的方法。

inn6fuwd

inn6fuwd1#

尝试使用/dev/zero作为只包含零的虚拟输入文件。您可以使用dd复制固定数量的字节:

dd if=/dev/zero of=zero-file bs=1 count=10000000000

字符串
这将从/dev/zero复制一个字节1000000000次到zero-file。您可以根据需要调整块大小和计数。

6yoyoihd

6yoyoihd2#

要将零写入zero-file,请执行以下操作:

dd if=/dev/zero bs=1 count=10000000000 | tr '\0' '0' > zero-file

字符串

c7rzv4ha

c7rzv4ha3#

根据@Cyrus的回答:

dd if=/dev/zero bs=1 count=10000000000 | tr '\0' '0' > zero-file

字符串
你说:
我有一个目录树,在每个目录中有一个名为zero-file的文件
因此必须多次执行此命令
我的想法是保存它在一个文件中一次,并为其他目录使用该文件包含这些0的。

#for the first time
$ dd if=/dev/zero bs=1 count=10000000000 | tr '\0' '0' > zero-file
#for other directories
$ dd if=../zero-file of=zero-file bs=1 count=10000000000

相关问题