在R中,使序列成为指定长度的有用方法是使用length.out
。例如
> for(i in seq(1,10,length.out=3)){print(i)}
[1] 1
[1] 5.5
[1] 10
bash中有length.out
的类似物吗?
答案 0 :(得分:0)
有两种常见的技术在shell脚本(不仅仅是Bash)中是惯用的。 shell本身传统上只是构建控制结构和管道的简单工具(原始的Bourne shell不支持内置算法 - 甚至简单的比较被委托给一个简单的外部工具,test
又名{{1然而,它往往是现代shell中的内置命令)。它的功能来自外部程序,因此有很多小程序可以执行简单的操作,例如生成无穷无尽的令牌流,并从流中选择第一个[
行(默认n
= 10):
n
也许添加行号?
yes | head
反转并唱一首歌?
yes | nl | head
另一个常见的习惯用法是,这些过多的简单实用程序不足或效率低下,是用各种脚本语言扩展shell的范围 - 传统上主要是yes | nl | head | tac |
while read num _; do
printf '%i bottles of beer on the wall\n' "$num"
done
和Awk;最近,还有Perl,Python,Ruby等(而且TCL也很受欢迎)。这是过去十天的日期。
sed
与此同时,特别是Bash已经扩展了相当完整的整数运算,包括一个数字perl -e 'system(qq{date -d "$_ days ago" +%F}) for reverse 0..9'
循环:
for