如何通过更改将一个文本文件复制到另一个文本文件(编辑 df 文件)

How to copy one text file to another text file with changes (editing df files)

我是 progress 4gl 的新手。我正在尝试将一个 df 文件的内容复制到另一个文件中,我想复制除 df 文件区域之外的所有内容。这是我到目前为止所拥有的。

define stream mystream.
input from "C:\OpenEdge\WRK\df file\sample.df".
do while true on endkey undo, leave:
output to "C:\OpenEdge\WRK\df file\test1.df".
end.
output close.
display "finished".

我首先想将第一个 df 文件的所有内容复制到另一个 df 文件中,但现在我得到一个空白文件。请让我知道哪里出错了。

要将第一个 df 文件的所有内容复制到另一个 df 文件,请使用此代码:

DEFINE VARIABLE TEXT-STRING AS CHARACTER FORMAT "X(76)".

INPUT FROM "C:\OPENEDGE\WRK\CMD-LOG.DF".

OUTPUT TO "C:\OPENEDGE\WRK\MY.DF".
DO WHILE TRUE ON ENDKEY UNDO, LEAVE:
   IMPORT UNFORMATTED TEXT-STRING.
   MESSAGE TEXT-STRING .
END.

INPUT CLOSE.
OUTPUT CLOSE.

我就是这样做的:

grep -v AREA < dbname.df > dbname.df2

如果您在缺少 "grep" 的 OS 上遇到困难,或者如果您只是想用 4gl 代码来做,我会做类似的事情:

define variable lineIn as character no-undo.

input from "dbname.df".
output to "dbname.df2".

repeat:

  import unformatted lineIn.                    /* read the data a whole line at a time */

  if lineIn begins "  AREA" then next.          /* skip lines that start with "  AREA" */

  put unformatted lineIn skip.                  /* spit the input line back out */
  if lineIn = "" then put unformatted skip(1).  /* yes, this is a weird thing */

end.