我现在已经尝试了大约一个小时来找到解决这个问题的优雅方案.我的目标基本上是编写带宽控制管道命令,我可以在各种情况下重复使用(不仅仅是网络传输,我知道scp -l 1234).我想做的是:

>延迟X秒.

>从管道读取Y量(或者如果没有足够的话,小于Y).

>将读取数据写入标准输出.

哪里:

> X可以是1..n.

> Y可以是1个字节,直到某个高值.

我的问题是:

>它必须支持Bash无法很好处理的二进制数据.

我采取或至少考虑过的道路:

>使用while read数据结构,它会过滤您使用的编码中的所有白色字符.

>使用dd bs = 1 count = 1并循环. dd似乎没有不同的退出代码,当有和没有东西时.这使得更难知道何时停止循环.如果我将标准错误重定向到临时文件,读取它以检查某些内容是否已转移(如在stderr上打印的统计信息中)并重复,则此方法应该有效.但是我怀疑如果在大量数据上使用它会非常慢,如果有可能我想跳过创建任何临时文件.

关于如何使用Bash尽可能干净地解决这个问题的任何想法或建议?

解决方法:

它不是很优雅,但您可以使用一些重定向技巧来捕获由dd复制的字节数,然后将其用作while循环的退出条件:

while [ -z "$byte_copied" ] || [ "$byte_copied" -ne 0 ]; do

sleep $X;

byte_copied=$(dd bs=$Y count=1 2>&1 >&4 | awk '$2 == "byte"{print $1}');

done 4>&1

但是,如果您的意图是限制传输吞吐量,我建议您使用光伏.

标签:bash,linux

来源: https://codeday.me/bug/20190827/1742693.html

linux写入二进制文件内容,linux – 从管道读取数据并写入标准输出,中间延迟.必须处理二进制文件...相关推荐

  1. 向HBase中导入数据3:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(增加使用Reduce批量插入)

    前面我们介绍了: 向HBase中导入数据1:查询Hive后写入 向HBase中导入数据2:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(只使用Map逐条查询) 为了提高插入效率 ...

  2. c语言结构体数组存入文件_关于从文件中读取数据并写入结构体数组

    已结贴√ 问题点数:25 回复次数:10 关于从文件中读取数据并写入结构体数组 各位大大好,本人新手一枚,最近写简单的通讯录的c程序,其他功能完好,最后一个将txt文件中的数据写入结构体数组的函数无法 ...

  3. linux查看fifo内容,linux 有名管道(FIFO)

    http://blog.csdn.net/firefoxbug/article/details/8137762 管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小) 管道 ...

  4. linux过滤输出内容,Linux内容整理--过滤器、输入输出及管道

    Linux内容整理--过滤器.输入输出及管道1.过滤器 Linux中的应用工具分为三种: 1.交互工具 2.过滤器 3.编辑器 能够接受数据,过滤再输出的工具,称为过滤器. 对过滤器和进程,存在着输入 ...

  5. linux清除文件内容 ,Linux清除文件内容的几种方法

    # 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 'true' 命令重定向来清空文件 $ true > test ...

  6. linux c之把最简单的字符串数据追加写入文件

    1 问题 把最简单的字符串数据追加写入文件 2 代码实现 #include <stdio.h> #include <string.h>void write_data_to_fi ...

  7. linux认证考试内容,Linux认证考试RHCE大纲

    下面是由题名考试网计算机小编为您整理发布的Linux认证考试RHCE大纲: RHCE必要的知识点 1.考生必须必须掌握以下基本技能,因为它们是RHCE考试中必考的内容 * use standard c ...

  8. python读文件和写文件-python开发--从文件中读取数据和写入文件

    #! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...

  9. python 按列读取数据并写入txt_Python数据分析之Pandas读写外部数据文件!

    阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写入数据 3 excel文件 3.1 读取数据 3.2 写入数据 4 mysql数据库 5 mongodb数据库 1 引言 ...

最新文章

  1. Nginx实现反向代理例子
  2. 「mac版」支持flash的浏览器,谷歌浏览器Chrome、火狐浏览器Firefox
  3. 化身阿凡达,国外小哥开源 AI 实时变脸工具 Avatarify
  4. SQL 2019——新特征
  5. jQuery 移除事件
  6. Swift iOS : plist
  7. covariance matrix r语言_R语言 第2章 数据对象与数据读写(3)
  8. idea无限重置插件安装
  9. matlab朦胧的去雾、加雾算法
  10. Linux基础入门命令汇总(2022.03.30更新)
  11. 关于浏览器提示“隐私设置错误/证书错误导航已阻止”之 网站证书过期解决方案
  12. dos攻击的服务器修复,被dos攻击怎么解决
  13. IT民工系列 —— 前言
  14. css解决transform 方法字体抖动
  15. python之tkinter模块——基于tk得图片文字
  16. 快速学习-帕特里夏树
  17. 关于visual studio安装失败的真正解决办法
  18. 石沉大海的简历和优质简历的差别
  19. 用位运算完成大小比较
  20. html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)

热门文章

  1. Codeforces Round #739 (Div. 3)(AK实况)
  2. HDU 1404 Digital Deletions(博弈 + SG函数打表)
  3. Codeforces Round #607 (Div. 2) E. Jeremy Bearimy dfs + 思维
  4. 回文自动机:从入门到只会打板
  5. HDU4372 Count the Buildings
  6. Link-Cut Tree
  7. cf1523B. Lord of the Values
  8. 牛客题霸 [分糖果问题] C++题解/答案
  9. 牛客练习赛60 ~ 斩杀线计算大师
  10. 数据结构之线段树合并——永无乡,Lomsat gelral,Tree Rotations,Tree Rotations Escape Through Leaf