我有一个这样的变量:(新行中的每个单词)
> echo $LIST
toto
toto2
titi
rererer
dfs
sdfsdf
titi
titi
我尝试删除所有出现的" titi"获得:
> echo $LIST
toto
toto2
rererer
dfs
sdfsdf
我尝试使用 LIST = $(echo $ {LIST // titi /})并删除它,但它也会删除新行并提供此结果:
> echo $LIST
toto toto2 rererer dfs sdfsdf
我的问题是如何删除所有出现的单词? 在此先感谢:)
答案 0 :(得分:2)
您需要在"${LIST//titi/}"
周围加上引号,否则空格将被折叠:
$ LIST='toto > toto2 > titi > rererer > dfs > sdfsdf > titi > titi' $ echo "${LIST//titi/}" toto toto2 rererer dfs sdfsdf
但你也可以直接分配:
LIST=${LIST//titi/}
echo "$LIST" # quotes are important here!