如何获取 PDF 文件中所有彩色页面的逗号分隔列表?
谢谢这个答案我可以获得所有页码的列表以及彩色页面的注释。
gs -o - -sDEVICE=inkcov input.pdf | grep -v "^ 0.00000 0.00000 0.00000" | \
grep "^ \|^Page"
输出结果为:
Page 1 0.16646 0.16261 0.14122 0.13507 CMYK OK Page 2 Page 3 0.48488 0.48728 0.48794 0.16678 CMYK OK Page 4 0.47346 0.47703 0.47624 0.46490 CMYK OK Page 5
如何修改输出以仅返回以逗号分隔的列表中带有颜色的页面?
结果看起来应该是这样的:
1, 3, 4
答案1
好的,我找到了一种方法来生成 PDF 中彩色页面的逗号分隔列表:
gs -o - -sDEVICE=inkcov test.pdf | \
grep -v "^ 0.00000 0.00000 0.00000" | \
grep "^ \|^Page" | \
paste -sd, | \
grep -Eo '[0-9]{1,3}, ' | \
tr -d '\n'
这可能不是最优雅的方式,但它确实有效。
该代码执行以下操作:
采用与上述问题相同的输出,并用逗号替换新行
paste -sd,
然后它会寻找 1-999 之间的数字,后面跟着一个逗号(替换的新行)和一个空格,因为彩色注释总是以空格符号开头
grep -Eo '[0-9]{1,3}, '`
最后,它会从输出中再次删除新行。
tr -d '\n'
结果是:
1, 3, 4,