我正在尝试使用带有 Ghostscript 解释器的 PostScript 解析 .txt 文件。.txt 文件是我需要从中提取日期戳的各种日志文件。文件中会有一行,例如“日期:[01-May-2011 06:41:52]”。我试图简单地将“01-May-2011 06:41:52”部分(不带括号等)输出到 PDF。
我的 PostScript 代码:
/grabdate {
linehold ([) search { pop pop % get everything after brackets
(]) search {exch pop exch pop % get everything before brackets
== flush
} {pop} ifelse
} {pop} ifelse
} def
/strrx 256 string def % temp line stash
/filename (C:\\path\\to\\file.txt) def
filename (r) file /myworkfile exch def % name of opened file
{myworkfile strrx readline {/linehold exch store grabdate}
{myworkfile closefile exit} ifelse
} loop
在命令提示符下使用 Ghostscript 我发出命令:
gswin32c \
-q \
-dNOPAUSE \
-dBATCH \
-sOutputFile=out.pdf \
-sDEVICE=pdfwrite myfile.ps
PostScript 代码部分有效,因为它将正确解析的“日期”行输出到标准输出(因为== flush
),但我的问题是,我似乎无法让“grabdate”操作写入相同的“日期”字符串到 PDF,而不是到标准输出。我可以使用一组 PostScript 命令来执行此操作吗?我在这里想念什么?
任何帮助表示赞赏。