如何使用输入数组重复字符串

时间:2018-08-17 08:43:11

标签: arrays linux string bash shell

因此,用户在询问以下内容时可以在bash脚本中输入此内容:1,2,3,4,5,6逗号分隔。

现在我想要的是添加并重复使用字符串,这样结果将是:

hi1 hi2 hi3 hi4 hi5 hi6

此功能适用于:

"hi"{1,2,3,4,5,6}

问题是使用用户输入的循环作为其参数。我尝试使用此方法,但它不起作用。

"hi"{$USERINPUT}

我对bash并没有很深的了解。

2 个答案:

答案 0 :(得分:3)

使用bash模式替换和printf

printf "hi%s " ${USERINPUT//,/ }

printf不需要循环,并打印与参数一样多的字符串。

bash替换为${parameter/pattern/string},在bash手册页中有记录。

答案 1 :(得分:0)

如何使用sed

$ echo "$USERINPUT" | sed 's/[0-9][0-9]*/hi&/g;s/,/ /g'
hi1 hi2 hi3 hi4 hi5 hi6