假设我在名为test的文件中有这些:
u001:x:comp111:mark_henry
u002:x:comp321:zack_mike
u003:x:comp132:chris_white
我想打开该文件,转到包含chris_white
的行,并将其更改为chris_brown
,使其变为u003:x:comp132:chris_brown
。我正在考虑使用sed
命令这样做,但我不确定如何。
答案 0 :(得分:1)
使用sed,以下方法可以在不打开文件chris_white
的情况下将所有chris_brown
替换为test
。
sed -i -e 's/chris_white/chris_brown/g' test
如果您要在test
中打开文件vi editor
并替换,请按照以下步骤操作,
1)vi test
2)输入:%s/chris_white/chris_brown/g
3)按Enter键
这会将文件chris_white
中所有chris_brown
替换为test
。
答案 1 :(得分:0)
使用vi,您需要比基本ed
更多的努力。
echo "s/chris_white/chris_brown/
w
q" | ed -s test
您可以使用printf
将行作为参数写入:
printf "%s\n" "s/chris_white/chris_brown/" w q | ed -s test