标签: binary

有没有办法找到只包含非打印字符的文件?

我有一个运行不良的程序,并且创建了许多只有几个非打印字符的文件。如果我要对文件进行分类,我什么也看不到(因为它们是非打印字符)。但是,这些文件不会显示出来,如果我使用类似-empty-size 0find命令。

有谁知道一种搜索仅包含非打印字符的文件的方法?

find special-characters search binary

6
推荐指数
1
解决办法
3145
查看次数

diff 不同大小的二进制文件?

有没有一种巧妙的方法来查看两个二进制文件之间的区别?它们大多相同,但更改了一些字节,并且其中一个文件在某些​​地方插入了序列。

xxd如果仅更改字节而不插入字节,则区分 的输出将起作用。

diff binary

6
推荐指数
2
解决办法
5269
查看次数

添加 ./bin 是个坏主意

我想不出任何理由为什么添加./bin到我的PATH环境中会是一个非常糟糕的主意。

我通常bin在我正在工作的项目中创建文件夹,我讨厌这样做bin/commandcommand只要我在包含bin文件夹的目录中并且该bin文件夹包含command可执行文件,就可以被 bash 选中。

我需要说服 :D

bash binary

6
推荐指数
1
解决办法
320
查看次数

将大(稀疏)文件 A 的非零块合并到大文件 B

我有来自故障硬盘驱动器的两个部分磁盘映像。文件 B 包含磁盘的大部分内容,在扇区读取失败的地方存在间隙。文件 A 是告诉ddrescue重试所有失败扇区的结果,因此它几乎完全是空白,但包含一些重读成功的地方。我现在需要将文件 A 的有趣内容合并回文件 B。算法很简单:

while not eof(A):
   read 512 bytes from A
   if any of them are nonzero:
       seek to corresponding offset in B
       write bytes into B
Run Code Online (Sandbox Code Playgroud)

可以坐下来自己写这个,但我首先想知道是否其他人已经编写并调试了它。

(更复杂的是,由于空间有限,文件 B 和文件 A 位于两台不同的计算机上——这就是为什么我没有告诉ddrescue首先尝试填补 B 中的空白——但 A 可以是通过网络传输相对容易,稀疏。)

large-files binary files

6
推荐指数
1
解决办法
1268
查看次数

在 Bash 中循环来自 stdin 的二进制数据块

我正在寻找类似while IFS= read -r -n $length str; do ... done但二进制数据的东西。是否可以使用dd或其他工具来做到这一点?是否有一些技术可以使这些工具能够看到管道(实际从中读取的标准输入)何时关闭并终止循环?

目前我编码和解码二进制数据并使用read但它太慢了..( base64 | while read -r -n77 str; do echo $str | base64 -d; ... done)

bash pipe binary

6
推荐指数
1
解决办法
5041
查看次数

从设备文件跟踪二进制流

我正在调试来自设备文件的二进制流。我希望将输出实时打印为十六进制值。

到目前为止,我已经使用过,tail -f /dev/ttyAPP2 | hexdump -C但是在我开始在输出中丢失一些字节之后,我明白这可能是一个糟糕的选择,因为它在找到换行符之前不会刷新数据。

有一个非官方的二进制尾,但我目前无法使用这种方法,我正在寻找如何用其他方式实现这一目标的建议?

例子

首先将 tty 设置为原始模式。

stty -F /dev/ttyAPP2 raw
Run Code Online (Sandbox Code Playgroud)

这是我在听设备时得到的(这是真实的输出)

root@Vdevice:/dev# hexdump -C < /dev/ttyAPP2
00000000  55 00 21 00 02 26 00 02  0b 00 09 02 06 01 00 01  
00000010  99 0c ec 45 4f 01 03 47  41 54 45 57 41 59 43 54 
Run Code Online (Sandbox Code Playgroud)

但是,预期的包应该是(这不是真正的输出):

root@Vdevice:/dev# hexdump -C < /dev/ttyAPP2
00000000  55 00 21 00 02 26 00 02  0b 00 09 02 06 …
Run Code Online (Sandbox Code Playgroud)

pipe tail binary

6
推荐指数
1
解决办法
4049
查看次数

macOS 上的 objcopy 相当于什么?

我希望llvm-objcopy安装在 macOS 上,因为它的对应项llvm-objdump与其他 LLVM 工具(例如clang.

llvm-objcopy在 macOS 上使用的等效工具是什么?

osx bsd gnu binary

6
推荐指数
0
解决办法
7399
查看次数

如何使用 bash 脚本修复 onedrive 损坏的 zip

目前 onedrive 生成​​的 zip 文件已被大多数软件破坏。

https://www.bitsgalore.org/2020/03/11/does-microsoft-onedrive-export-large-ZIP-files-that-are-corrupt

正如我们在这里看到的,解决方案是使用十六进制编辑器。由于我有很多大文件,我想要 bash 脚本解决方案……这可能吗?

这是一个免费提供的测试文件:

https://zenodo.org/record/3715394

zip shell-script binary

6
推荐指数
1
解决办法
1308
查看次数

在 emacs 中,有没有办法在不丢失撤消信息的情况下对缓冲区进行十六进制编辑/查看?

当我在 emacs 中使用hexl-mode时,它会丢弃缓冲区的撤消信息。
有没有另一种方法可以对缓冲区进行十六进制编辑并保留撤消信息?

如果没有替代的十六进制编辑器,是否有可以查看缓冲区的十六进制查看器?我试过hexview-mode,但它没有查看实际的缓冲区;它查看缓冲区的文件(从磁盘),所以我看不到当前的编辑。

emacs binary hex

5
推荐指数
1
解决办法
6118
查看次数

获取文件的“文本内容”

我想知道是否有一种工具可以抓取文件的文本内容。基本上,我想放入 pdf、word 文档、压缩文件或其他任何内容,并获取其中包含的文本。

strings打印出可打印字符的序列,但这不适用于许多压缩格式。它的“愚蠢”性质也意味着它经常打印的不仅仅是文本。不过,对于未知的文件类型,这将是一个很好的后备。

有一个pdftotext命令几乎完全符合我的要求,但它只适用于 pdf。

是否有适用于多种格式或将更多这些工具联系在一起的工具?

附加信息

我很多人都提到他们的工具是非标准的。我只想指出这很好。

conversion binary text

5
推荐指数
1
解决办法
206
查看次数

标签 统计

binary ×10

bash ×2

pipe ×2

bsd ×1

conversion ×1

diff ×1

emacs ×1

files ×1

find ×1

gnu ×1

hex ×1

large-files ×1

osx ×1

search ×1

shell-script ×1

special-characters ×1

tail ×1

text ×1

zip ×1