【发布时间】:2015-06-26 04:44:21
【问题描述】:
我想用 file.txt 内容替换字符串。
mtn="John"
fs=`cat file.txt`
lgtxt=`cat large_text.txt`
stxt1=`echo $lgtxt | sed "s/zzzz/$mtn/g"`
stxt2=`echo $stxt1 | sed "s/pppp/$fs/g"`
它用 'mnt' 的值替换 'zzzz' 但不是 'pppp'。 文件 file.txt 包含名称列表,例如: 汤姆琼斯 特德贝克 琳达·埃文斯 在单独的行中。 我想将它们放在文件 large_text.txt 中的单独行中,就像它们在原始文件中一样,并用逗号分隔。
【问题讨论】:
-
m4(1)是你的朋友。 -
pppp 是否在单独的行上只出现一次?在这种情况下,我们可以寻找另一种通过 pppp 行拆分 lgtxt 的解决方案。还是 pppp 出现在某些行
if [ "${line}" = "pppp" ]; then ... -
不会在句子中出现,而且不止一次。
-
显示一些示例输入和预期输出,这样我们就不必猜测了。
-
cat file.txt
codeTom Jones Ted Baker Linda Evans cat large_file.txt 这是我们学生 pppp 的名单。 pppp是我们班的学生。预期输出:这是我们的学生 Tom jones Ted Baker Linda Evans 的名单。汤姆琼斯泰德贝克琳达埃文斯是我们班的学生。