linux写入二进制文件内容,linux – 从管道读取数据并写入标准输出,中间延迟.必须处理二进制文件...
我现在已经尝试了大约一个小时来找到解决这个问题的优雅方案.我的目标基本上是编写带宽控制管道命令,我可以在各种情况下重复使用(不仅仅是网络传输,我知道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 – 从管道读取数据并写入标准输出,中间延迟.必须处理二进制文件...相关推荐
- 向HBase中导入数据3:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(增加使用Reduce批量插入)
前面我们介绍了: 向HBase中导入数据1:查询Hive后写入 向HBase中导入数据2:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(只使用Map逐条查询) 为了提高插入效率 ...
- c语言结构体数组存入文件_关于从文件中读取数据并写入结构体数组
已结贴√ 问题点数:25 回复次数:10 关于从文件中读取数据并写入结构体数组 各位大大好,本人新手一枚,最近写简单的通讯录的c程序,其他功能完好,最后一个将txt文件中的数据写入结构体数组的函数无法 ...
- linux查看fifo内容,linux 有名管道(FIFO)
http://blog.csdn.net/firefoxbug/article/details/8137762 管道的缓冲区是有限的(管道制存在于内存中,在管道创建时,为缓冲区分配一个页面大小) 管道 ...
- linux过滤输出内容,Linux内容整理--过滤器、输入输出及管道
Linux内容整理--过滤器.输入输出及管道1.过滤器 Linux中的应用工具分为三种: 1.交互工具 2.过滤器 3.编辑器 能够接受数据,过滤再输出的工具,称为过滤器. 对过滤器和进程,存在着输入 ...
- linux清除文件内容 ,Linux清除文件内容的几种方法
# 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 'true' 命令重定向来清空文件 $ true > test ...
- linux c之把最简单的字符串数据追加写入文件
1 问题 把最简单的字符串数据追加写入文件 2 代码实现 #include <stdio.h> #include <string.h>void write_data_to_fi ...
- linux认证考试内容,Linux认证考试RHCE大纲
下面是由题名考试网计算机小编为您整理发布的Linux认证考试RHCE大纲: RHCE必要的知识点 1.考生必须必须掌握以下基本技能,因为它们是RHCE考试中必考的内容 * use standard c ...
- python读文件和写文件-python开发--从文件中读取数据和写入文件
#! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...
- python 按列读取数据并写入txt_Python数据分析之Pandas读写外部数据文件!
阅读目录 1 引言 2 文本文件(txt.csv) 2.1 读取数据 2.2 写入数据 3 excel文件 3.1 读取数据 3.2 写入数据 4 mysql数据库 5 mongodb数据库 1 引言 ...
最新文章
- Nginx实现反向代理例子
- 「mac版」支持flash的浏览器,谷歌浏览器Chrome、火狐浏览器Firefox
- 化身阿凡达,国外小哥开源 AI 实时变脸工具 Avatarify
- SQL 2019——新特征
- jQuery 移除事件
- Swift iOS : plist
- covariance matrix r语言_R语言 第2章 数据对象与数据读写(3)
- idea无限重置插件安装
- matlab朦胧的去雾、加雾算法
- Linux基础入门命令汇总(2022.03.30更新)
- 关于浏览器提示“隐私设置错误/证书错误导航已阻止”之 网站证书过期解决方案
- dos攻击的服务器修复,被dos攻击怎么解决
- IT民工系列 —— 前言
- css解决transform 方法字体抖动
- python之tkinter模块——基于tk得图片文字
- 快速学习-帕特里夏树
- 关于visual studio安装失败的真正解决办法
- 石沉大海的简历和优质简历的差别
- 用位运算完成大小比较
- html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)
热门文章
- Codeforces Round #739 (Div. 3)(AK实况)
- HDU 1404 Digital Deletions(博弈 + SG函数打表)
- Codeforces Round #607 (Div. 2) E. Jeremy Bearimy dfs + 思维
- 回文自动机:从入门到只会打板
- HDU4372 Count the Buildings
- Link-Cut Tree
- cf1523B. Lord of the Values
- 牛客题霸 [分糖果问题] C++题解/答案
- 牛客练习赛60 ~ 斩杀线计算大师
- 数据结构之线段树合并——永无乡,Lomsat gelral,Tree Rotations,Tree Rotations Escape Through Leaf