我将获得一个输入文件,其中可能包含许多不良词。我想用“哔”代替每次出现的坏词
这是我的输入文件:
in.txt
May I have your attention, please?
坏词文件:
badwords.txt
包含不良词
我的bash脚本执行我打算做的事情:
process.sh
for badWord in ${badWords[@]}; do
outtext={outtext/badWord/beep}
done
输出:
$ ./process.sh
May I have your attention, please?
=====================================================
May I havbeep yobbeepbeeppbeep attbeepntion, plbeepabeepbeep?
为什么这不能正确替换坏词?
答案 0 :(得分:2)
cuss-words.txt
中的某些行包含空格,因此,如果不将for
数组用双引号引起来,它们将在badWords
循环中被破坏。
更改此行:
for badWord in ${badWords[@]}; do
对此:
for badWord in "${badWords[@]}"; do