从ppm文件中删除Linux标头



有人知道在Linux中从ppm文件中删除头的命令吗?我已经试过了

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
head -n 4 Example.ppm > header.txt
tail -n 5+ Example.ppm > body.bin 
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´

它告诉我;尾部;找不到。

大多数ppm文件在头中使用换行符,因此您的第一个命令很好。然而,文件的其余部分是二进制的,因此:

head -n 4 Example.ppm > header.txt
filesize=$(wc -c header.txt)
dd if=Example.ppm of=body.bin bs=1 skip=$filesize

如果你有/bin/head,那么你应该有/bin/tail;两者都在coreutils RPM包中。

ppm(5(文件的格式(http://netpbm.sourceforge.net/doc/ppm.html)与基于行的头/尾/sed系列一起使用很尴尬。文档描述了由空格分隔的字段,空格不一定是换行符。

您需要:1(忽略从"#"到行尾的注释;以及2(一次处理剩余的一个字段(不是列,不是行(。在这里,使用awk(1(可能是一种选择。

检查文档(http://netpbm.sourceforge.net/doc/directory.html)以获取转换程序的列表。您可能会找到一种将PPM文件转换为更适合您最终目标的任何用途的形式的方法。

最新更新