【发布时间】:2014-01-22 18:24:19
【问题描述】:
在包含“abc”的文件 a.txt 中,我想将“abc”替换为 20000 长度的字符串。我可以使用 Stata 命令filefilter 来转换文件中的 ASCII 文本或二进制模式来执行此操作。如何在SAS中做到这一点?
a.txt 内容:
{\rtf1
{\fonttbl{\f1\fmodern\fcharset134;}}
{\info}
\sectd\pgwsxn11907\pghsxn16840\marglsxn1418\margrsxn1418
\margtsxn1440\margbsxn1440\sectdefaultcl
\headery851{\header\pard\qr\fs18\par}
\footery992{\footer\pard\qc\f0\fs18\chpgn\par}
{\pard\qc\sb30\sa30\fs21 \par
\trowd\trautofit1\trgaph0\trleft-75\intbl\trqc
\clbrdrt\brdrs\brdrw30\clbrdrb\brdrs\brdrw10\clvertalc\cellx6993\clbrdrt
\brdrs\brdrw30\clbrdrb\brdrs\brdrw10\clvertalc\cellx13986\clbrdrt\brdrs\brdrw30
\clbrdrb\brdrs\brdrw10\clvertalc\cellx20979
\qc\fs21 x\cell\qc\fs21 y\cell\qc\fs21 z\cell\row
\trowd\trautofit1\trgaph0\trleft-75\trqc
\clvertalc\cellx6993\clvertalc\cellx13986
\clvertalc\cellx20979
\qc\fs21 a\cell\qc\fs21 b\cell\qc\fs21 abc\cell\row
\trowd\trautofit1\trgaph0\trleft-75\intbl\trqc
\clbrdrb\brdrs\brdrw30\clvertalc\cellx6993\clbrdrb\brdrs\brdrw30
\clvertalc\cellx13986\clbrdrb\brdrs\brdrw30\clvertalc\cellx20979
\qc\fs21 d\cell\qc\fs21 e\cell\qc\fs21 f\cell\row
}}
【问题讨论】:
-
如果你没有在 SAS 中使用它,那么 SAS 是一个糟糕的工具。这方面的范围是什么 - 为什么要使用 SAS?然后您是将其读入数据集或其他内容,还是仅更改 .txt 文件?
-
您使用的是什么操作系统?在基于 UNIX 的机器上,您可以像这样在 SAS 中调用 shell 命令:
x perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' a.txt。 -
谢谢。操作系统是Windows