我的VAR包含:
list_data="toto
titi
tata
tete"
我的数组可以包含这个示例或更多值,然后是3个数据:
arraytest[0]="Hello|Test|env|tata|POLO|GER|GO|"
arraytest[1]="GOODNIGHT|Test2|env2|tete|GOLF|ITA|NOTGO|"
arraytest[2]="AFTER|Test3|env3|JAJA|CIT|FRA|GO|"
我的字符串是
string="INSERT"
我想要做的是在每行的末尾添加特殊字符串,其中每行包含list_data的每个值
例如:
arraytest[0]="Hello|Test|env|tata|POLO|GER|GO|INSERT"
arraytest[1]="GOODNIGHT|Test2|env2|tete|GOLF|ITA|NOTGO|INSERT"
arraytest[2]="AFTER|Test3|env3|JAJA|CIT|FRA|GO|"
我试试这个
echo ${arraytest[*]} | sed -i 's/$/ $string'
请帮助。 谢谢。
答案 0 :(得分:1)
bash
解决方案:
string="INSERT"
pat="(${list_data//$'\n'/|})"
for i in "${!arraytest[@]}"; do
[[ "${arraytest[$i]}" =~ $pat ]] && arraytest[$i]+=$string
done
最终arraytest
内容:
echo ${arraytest[*]}
Hello|Test|env|tata|POLO|GER|GO|INSERT GOODNIGHT|Test2|env2|tete|GOLF|ITA|NOTGO|INSERT AFTER|Test3|env3|JAJA|CIT|FRA|GO|
详细说明:
pat="(${list_data//$'\n'/|})"
- 构建正则表达式模式(pat
包含(toto|titi|tata|tete)
)
${!arraytest[@]}
- 基本签名格式为${!name[*]}
- 如果 name 是一个数组变量,则扩展为<中指定的数组索引(键)列表EM>名称
答案 1 :(得分:0)
循环遍历数组的各个元素(而不是$ {array [*]})
ggplot(df, aes(class, proportion, fill = as.factor(rating))) +
geom_col()