簡體   English   中英

Bash參數擴展分隔符

[英]Bash parameter expansion delimiter

我想用1:2:3:4:5:6:7:8:9:10使用參數擴展{1..10}和模式匹配:

$ var=$(echo {1..10})
$ echo ${var// /:}
1:2:3:4:5:6:7:8:9:10

有沒有更優雅的方式(單線)這樣做?

優雅在旁觀者的眼中:

( set {1..10} ; IFS=: ; echo "$*" )

同意@ choroba關於優雅的評論,這里還有一些其他值得注意的東西:

# seq is a gnu core utility
seq 1 10 | paste -sd:
# Or:
seq -s: 1 10

# {1..10} is bash-specific
printf "%d\n" {1..10} | paste -sd:

# posix compliant
yes | head -n10 | grep -n . | cut -d: -f1 | paste -sd:

另一種可能性

echo {1..9}: 10 | tr -d ' '

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM