linux - 如何在不重新写入整个文件的情况下更改文件中的一个字符?

标签 linux file-io file filesystems

如何更改文件中的一个字符?欢迎使用任何符合 nix 的编程语言解决方案。

我编写了 .pgm 文件并将魔数(Magic Number)放入“P2”。正确的是'P5'。现在我有 100000 多个文件要修复。或者:如何使用 pylab.imread() 读取我的新文件?

仅供引用:pgm 是一种 ascii 图像文件格式 http://netpbm.sourceforge.net/doc/pgm.html . pylab和PIL要求魔数(Magic Number)为P5

br, 巨哈

编辑:感谢您提供所有解决方案。 dd 方法是唯一有效的方法。出于好奇,为什么 c 和 python 不这样做?

最佳答案

谈论不涉及 Python 的解决方案,一个是这样的:

echo -n "P5" | dd of=yourfile.pgm conv=notrunc

这将导致 dd 在文件开头写入“P5”,而不截断它

关于linux - 如何在不重新写入整个文件的情况下更改文件中的一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4265597/

相关文章:

linux - 从 shell 脚本启动 pdf 文件

linux - TCP数据包中的冗余数据是什么?

linux - 如何使用awk查找具有相似文件名的文件以及其中有多少

linux - 如何检查/var/log/messages 中最近 10 小时的变化

mysql - 默认 MySQL 数据库名称

linux - 如何使用cp从不同目录复制多个文件?

java - 如何从java中的文本文件中提取列

arrays - 大型引用文件(800,000 行)。存储在数组中或使用文件句柄

python - 有没有办法只从 tkFileDialog 获取文件名?

c++ - 用C++写入文件