【问题标题】:How to use SAS to substitute one word for another in notepad(txt) file如何使用 SAS 将记事本(txt)文件中的一个单词替换为另一个单词
【发布时间】: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

标签: sas stata


【解决方案1】:

有一些可以在 Windows 上运行的工具 here 的建议。

如果您安装了 FART 或 sed 等工具,则可以在 SAS 中使用 x 作为前缀来访问命令行,例如 this

【讨论】:

    猜你喜欢
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多