用linux文件中的字符串替换字符串模式

时间:2018-06-28 09:42:06

标签: linux shell unix sed

我是Linux的新手。需要替换

/en/family/bitstream/ambiance-bt
/en/family/zxcvbn/bernhard-fashion
/en/family/qwerty/century-751
/en/family/abcd/century-expanded
/en/family/xyz/charter-bt
/en/fonts/sdfsd/dsfsdfs

使用

/en/family
/en/family
/en/family
/en/family
/en/family
/en/fonts/sdfsd/dsfsdfs

使用sed或其他替代方法。

3 个答案:

答案 0 :(得分:0)

给我想要的结果的命令是:

sed  's/\/en\/family\/\.*.*/FamilyPage/' filename

答案 1 :(得分:-1)

尝试此命令:

sed 's/pattern_to_replace/string_to_insert/' yourfile

由于我不了解您要替换的内容,因此我不为您提供更精确的示例。

编辑1,在您发表第一个评论后:

sed 's@/en/family/.*@FamilyPage@' yourfile

答案 2 :(得分:-1)

如果文件内容确实如下:

/en/family/bitstream/ambiance-bt
/en/family/zxcvbn/bernhard-fashion
/en/family/qwerty/century-751
/en/family/abcd/century-expanded
/en/family/xyz/charter-bt
/en/fonts/sdfsd/dsfsdfs

使用以下sed表达式获得预期的输出:

sed  's/\/en\/family\/\*.*/\/en\/family/' yourfilename 

要在文件名中永久使用sed表达式

sed -i 's/\/en\/family\/*.*/\/en\/family/' yourfilename