我正在尝试提交类似下面的内容,以便我可以将目录中的所有数据集复制到另一个目录,但前缀为标识符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' ;
答案 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/