使用sed替换现有行中的模式

时间:2013-04-29 10:06:25

标签: sed

我想替换

/fdasatavol/ankit

/fdasatavol_sata/ankit

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

写入新文件(不修改file1):

sed 's/fdasatavol/fdasatavol_sata/g' file1 > file2

或替换原始文件:

sed -i 's/fdasatavol/fdasatavol_sata/g' file1

答案 1 :(得分:1)

这会将fdasatavol的每次出现都替换为fdasatavol_sata

sed 's/fdasatavol/&_sata/g'

如果您的输入出现fdasatavol且不在/fdasatavol/ankit且您不想替换这些输入,请使用:

sed 's@/fdasatavol/ankit@/fdastatavol_sata/ankit@g'

注意:您可以使用任何字符作为sed的delimilter来避免与parrtern contiaing /混淆。默认情况下,sed会打印到stdout,如果您对sed生成的更改感到满意,可以使用-i选项存储回文件。

sed -i 's/fdasatavol/&_stat/g' file