python - 将 bash 翻译成 python;“dd”命令“iflag=skip_bytes”如何转换?
问题描述
我正在尝试将 bash 脚本转换为 python,并且我有一段我想更好地理解的代码。剧本:
dd < "$file" skip=$start count=$((end - start)) iflag=skip_bytes 2> /dev/null |
(
if [ -n "$dir" ]; then
mkdir -p -- "$dir/$subdir"
cd -- "$dir/$subdir"
fi
cpio -i "$@"
)
我的理解是,我从一个文件中读取了我在“$start”字节上的垃圾并进一步count
字节。所以我想我可以用seek
.
我如何翻译iflag=skip_bytes
成 python ?
解决方案
来自https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation
'跳过=n'</p>
在复制之前跳过输入文件中的 n 个“ibs”字节块。如果指定了“iflag=skip_bytes”,则 n 被解释为字节数而不是块数。
因此,如果您的 bash 脚本中没有,则必须在查找之前乘以块大小。但是由于存在,因此不需要乘法,您只需要按字节查找。iflag=skip_bytes
$start
iflag=skip_bytes
$start
推荐阅读
- javascript - react-table 中的条件单元格渲染
- node.js - 基于 Node.js 的命令行工具“force-dev-tool”在退出之前需要大量时间
- mysql - 如何检查列中的值并使用 sql 在表上删除/继续读取(选择)?
- c# - 嵌套类属性
- c# - Visual Studio App Center:“等待”运算符只能在异步方法中使用
- r - downloadHandler 没有产生所需的输出
- git - 如何在 Jenkins 的 workSpace/Slave 上禁用证书验证
- javascript - 图标不与 skycons 一起显示
- python - Python将回车解码为换行
- javascript - jQuery - 查找后访问值