对于单个文件,
$ my_app < file01.binary
对于多个文件,
$ cat file*.binary | my_app
每个二进制文件的大小为 500MB,所有文件*.二进制的总大小约为 8GB。根据我的理解,cat
将首先连接所有文件,然后将单个大文件重定向到my_app
。
有没有更好的方法可以在不先连接它们的情况下将多个二进制文件发送到my_app
?
No.cat
只会循环从输入文件中读取行/块并将它们打印到管道中。不用担心。
cat
中的"连接"表示它将输入连接到输出。这并不意味着它首先在内存中连接其输入。
ls file*.binary | xargs cat | xargs my_app
xargs 是从标准输入构建和执行命令的命令。它将输入从标准输入转换为参数,然后再转换为命令。