如何使用循环而不是使用 sed 查找和替换来编辑脚本中的文件?

如何使用循环而不是使用 sed 查找和替换来编辑脚本中的文件?

这是我正在尝试做的一个例子:

#!/bin/bash
Update=$1

if [$Update == Value] 
then
    NewValue= $Update
    vi %s/Value/$NewValue/g > Updatedfile
fi
exit 0

有没有办法vi在脚本中使用命令?我的想法是某种类型的管道可以做到这一点?

答案1

是的,您可以vi在条带中使用命令:sed-s特雷姆编辑viitor,是家庭 ( ed, vi, )的成员sed。它用于编辑通过管道传递的数据流,因此正是您所需要的。它还使用与 相同的命令vi

例如,处理标准并将结果放入Updatedfile

sed -e "s/Value/$NewValue/g" > Updatedfile

另请参阅-i选项,进行编辑n 位。

相关内容