2017-04-23 45 views
2

我使用SEQ -s“” -f“数据%G bash中使用了序列的单词列表:” 5创建如何创建

data1 : data2 : data3 : data4 : data 5 : 

不过,我想它来启动我选择的数字而不是1,最后不要有“:”符号。例如这样的事情:

data3 : data4 : data5 

有没有这方面的任何一个在线的解决方案?

在此先感谢!

电流输出:

seq -s " " -f " data%g :" 5 
data1 : data2 : data3 : data4 : data 5 : 

期望:

data3 : data4 : data5 

回答

6

用下面的办法:

start=3; seq -s" : " -f "data%g" $start 5 

输出:

data3 : data4 : data5 

start=3 - 定制变量,它包含起始索引

-s" : " - 产品分离器

$start 5 - 代表序列的范围内。在我们的例子:从35

2

替代上bash

echo data{3..5} | sed 's//: /g' 
1

一种方式做到这一点,而无需使用外部程序:

set -- {3..5} ; (($#>1)) && printf "%s:" "${@:1:$#-1 }" ; printf "%s\n" "${@: -1}" 

请注意,这将覆盖位置参数。