删除bash变量中的所有单词出现

时间:2017-10-06 09:38:56

标签: bash find-occurrences

我有一个这样的变量:(新行中的每个单词)

> 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

我的问题是如何删除所有出现的单词? 在此先感谢:)

1 个答案:

答案 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!