sas - 检查 sas 代码中是否存在 %include 语句
问题描述
我有 SAS 代码,其中包含以下代码行
% 包括“/sas/dev/compare.sas”;
它位于服务器 /sas/cpm/dev/code 上的位置
所以,目前我正在做的是手动转到上面的路径并打开每个 .sas 代码(在一个文件夹中,你可以说 /sas/cpm/dev/code 有 4 个代码位置)并检查是否 %include "/sas /dev/compare.sas" 代码行是否存在
任何人都可以在不手动检查/打开 .sas 代码的情况下帮助我如何检查 %include "/sas/dev/compare.sas"; 存在与否
任何人都可以,请帮助我如何用 sas 编写,我们可以通过宏正确传递每个代码
谢谢
解决方案
您可以通过以下方式做到这一点:
- 列出每个文件夹中的所有 .sas 文件,
- 为每个文件创建一个 datasetp / infile 语句,
- 搜索文件中的每一行
% include "/sas/dev/compare.sas";
- 如果找到行,则将文件名和行号打印到日志中
代码:
%let extension=sas;
%let FolderPath=\\sas\SASDATA\momo\;
%macro check_file_path(f=);
DATA _null_;
infile "&f" dsd ;
length string $200.;
input string $;
if string=&check. then put "&f. " "includes @ line " _N_= ;
run;
%mend;
Data List_files;
rc=FILENAME('FMyRep',"&FolderPath");
did=DOPEN('FMyRep');
memcnt=DNUM(did);
*count number of members - including subfolders;
DO i=1 TO memcnt;
*for each member, test extension and store filename;
filevar=LOWCASE(DREAD(did,i));
file_path=cats("&FolderPath.",filevar);
IF LOWCASE(SCAN(filevar,-1,".")) EQ LOWCASE("&extension") THEN
OUTPUT;
END;
rc=DCLOSE(did);
rc=FILENAME('FMyRep');
KEEP filevar file_path;
RUN;
data _null_;
set List_files;
call execute('%check_file_path(f='||file_path||')');
put file_path=;
run;
输出:
file_path=\\sas\SASDATA\momo\file1.sas
file_path=\\sas\SASDATA\momo\file2.sas
file_path=\\sas\SASDATA\momo\file3.sas
file_path=\\sas\SASDATA\momo\file4.sas
日志:file4.sas 是唯一没有这个的% include "/sas/dev/compare.sas";
\\sas\SASDATA\momo\file1.sas includes @ line _N_=1
\\sas\SASDATA\momo\file2.sas includes @ line _N_=1
\\sas\SASDATA\momo\file4.sas includes @ line _N_=1
推荐阅读
- python - 麻烦在二十一点中将卡片对象发给玩家对象的手
- vb.net - 如何在此 Linq 查询中处理空合并?
- python - 为什么我不能从 mplfinance 导入烛台_ohlc
- reactjs - 如果我使用 res.send 文件,我是否需要 express.static
- android - androidstudio - Could not find out the created layout.xml form the fragment
- python - Web2Py.exe Will Not Open
- javascript - 无法解析键值名称周围带有单引号的字符串数组
- cluster-computing - Node Compute 0-0- already exist. Select different host name or rank value. IN Rocks Centos 7
- angular - How to use a custom HttpClient with Angular Universal?
- r - How to convert a character timestamp column into a date-time object in R