在SAS`X`命令中,如何通过回车?

时间:2015-08-20 15:30:03

标签: loops unix sas

我正在尝试提交类似下面的内容,以便我可以将目录中的所有数据集复制到另一个目录,但前缀为标识符ID1

for name in *.sas7bdat
do
        cp "$name" "ID1$name"
done

到目前为止,我尝试过使用多种变体而不是运气 - 一些例子是:

x 'for name in *.sas7bdat' ;
x 'do';
x 'cp "$name" "ID1$name"' ;
x 'done' ;

x 'for name in *.sas7bdat' 'OD'x 'do' 'OD'x 'cp "$name" "ID1$name"' 'OD'x 'done' ;
x 'for name in *.sas7bdat'       'do'       'cp "$name" "ID1$name"' '     'done' ;
x 'for name in *.sas7bdat' \n    'do' \n    'cp "$name" "ID1$name"' \n    'done' ;

1 个答案:

答案 0 :(得分:3)

你可以在一行中编写bash脚本(for ... do ... done ...)并在其上运行x命令。

x 'for name in *.sas7bdat; do; cp "$name" "ID1$name"; done';

另一种选择是将整个for循环存储在一个文件中,确保它是可执行的(chmod + x filename),然后使用x命令将该文件作为脚本执行。

这里有一些bash示例 - http://www.cyberciti.biz/faq/linux-unix-bash-for-loop-one-line-command/