【发布时间】:2017-11-03 21:46:12
【问题描述】:
我有脚本。在这个脚本中,我搜索和替换了单词。一个字一个字,直到单词“结束”。没关系,它有效。你可以看到我的脚本正文:
#!/bin/bash
end=end
until [ "$first" = "$end" ];do
echo "please write first word";
read first
if grep -q "$first" *txt; then
echo "word is exists"
grep "$first" *txt
echo "please write second word";
read second
sed -i 's/'"$first"'/'"$second"'/g' *txt
else
echo "second word does not exists"
exit 1
fi
done
它对我有用。我在结果控制台中,我可以无休止地循环单词,但是如果我想做这样的事情:我怎样才能在一行中写多个单词。
例如:“狗”“猫”“鱼”
然后搜索并替换所有这些词。怎么办?例如,如果我需要替换这些单词(“elephat”“mouse”“bird”)。你怎么能这样做? 我的意思是搜索和替换单词,比如参数。
【问题讨论】:
-
您的意思是接收要替换的单词作为参数?或者从文件中读取它们?
-
你必须学会缩进。我要编辑。看在上帝的份上,以可读的方式编写代码。
-
我的意思是接受参数之类的词
标签: bash for-loop search replace while-loop