【发布时间】:2018-04-18 20:38:46
【问题描述】:
我知道我们可以使用数据步骤将“*.sas”程序作为数据集进行归档,每一行代码都是数据集的一条记录。然后我可以使用 SAS 对数据集进行更改。
假设我在 c:\pgm 中已经存在 100 个程序,我需要做的只是一些小的修改,例如将所有这 100 个程序的 flag1 更改为 flag2。如果我不想打开每个程序并一个一个替换标志。有没有办法在 c:\pgm 中获取所有程序名称,以便我可以遍历这些名称并进行替换。
我使用的是 SAS 9.4 和 EG。谢谢!
【问题讨论】:
-
.sas 文件只是一个文本文件,您可以使用操作系统命令进行搜索/替换。 gist.github.com/statgeek/26cf789d6da0ce941e447022fdccf0f4 这样就找到了字符串,改起来应该比较简单。
-
@Reeza OS / 文件系统对 .sas 文件的访问不能总是假设。我在一家只有 EG 的公司工作,无法直接访问文件系统或操作系统。我最终编写了一个工具来专门执行 OP 的要求以及执行差异的工具。在 OP 的情况下,唯一的选择可能是一个一个地打开 100 个项目并进行更改。
-
第一个链接实际上并没有演示 OS 方法,它是一个使用 INFILE 方法的 SAS 程序。
-
使用像notepad++这样可以在文件中进行搜索和替换的文本编辑器会简单得多!
标签: sas