如何使用bash替换字符串的一部分?
我有来自用户的字符串,其形式为<代码>1,2,3和任意数量的数字。我要做的是用数组中每个数字的索引处的对应值替换这些数字。假设我的数组有[tom][jerry][sue]。我想让我的绳子在处理的时候看起来像汤姆,杰瑞,苏。我应该使用grep吗?狂欢节如何使用bash替换字符串的一部分?,bash,shell,grep,Bash,Shell,Grep,我有来自用户的字符串,其形式为1,2,3和任意数量的数字。我要做的是用数组中每个数字的索引处的对应值替换这些数字。假设我的数组有[tom][jerry][sue]。我想让我的绳子在处理的时候看起来像汤姆,杰瑞,苏。我应该使用grep吗?狂欢节 string="1,2,3" names=( nobody tom jerry sue ) indexes=( $(sed 's/,/ /g' <<< "$string") ) result="" pad="" for i in ${in
string="1,2,3"
names=( nobody tom jerry sue )
indexes=( $(sed 's/,/ /g' <<< "$string") )
result=""
pad=""
for i in ${indexes[@]}
do
result="$result$pad${names[$i]}"
pad=","
done
echo "$result"
索引=(…)
这是一个数组赋值。它将把…
中的任何内容产生的单词作为数组的元素处理。当然,names=(…)
作业就是这样工作的sed。。。
索引=(…)
这是一个数组赋值。它将把…
中的任何内容产生的单词作为数组的元素处理。当然,names=(…)
作业就是这样工作的
sed。。。你能解释一下吗?我应该更具体地问你sed语法是如何工作的,但我可以从你给我的东西中理解出来。谢谢。这里不需要sed
:这里不需要sed
索引=($(sed's/,//g')你能解释一下吗?我应该更具体地问你sed语法是如何工作的,但我可以从你给我的东西中弄明白。谢谢。这里不需要sed
:索引=($(sed's/,//g'
indexes=( $(sed 's/,/ /g' <<< "$string") )
indexes=( 1 2 3 )