Linux:sed 替换 string1,但只能使用 grep string2

问题描述 投票:0回答:1

我应该替换文件中的某个字符串,但仅限于出现另一个字符串的行,例如:

这是我的文件

Hello world
the world is mine

我会使用 grep | 等命令仅将行中的“world”替换为 hello xargs sed -i 但我不知道具体如何...

grep Hello myfile | sed -i 's/world/Italy/g
我的文件

我会得到的结果是:

Hello Italy
the world is mine

谢谢

linux sed replace grep
1个回答
0
投票

你不需要

grep
sed
能够将命令限制为仅与模式匹配的行。 所以:

sed  '/Hello/s/world/Italy/' < myfile

输出:

Hello Italy
the world is mine
© www.soinside.com 2019 - 2024. All rights reserved.