2017-04-23 84 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}" 

請注意,這將覆蓋位置參數。