Regex 替换模式的正则表达式
我正在linux中使用Regex 替换模式的正则表达式,regex,sed,Regex,Sed,我正在linux中使用sed。我已经完成了大部分工作,但在以下方面需要帮助: 模式的一部分如下所示: document=SomeRanddomAlphaNumeric/10DigitNumber, user= 一些例子: 我期待着发现: ducument=LKJHuasfb89/9878476578, user= ducument=jhdn uryhf 9adu/6767898893, user= ducument=iujjnbmr Ohndj88isju/6767898734, user=
sed
。我已经完成了大部分工作,但在以下方面需要帮助:
模式的一部分如下所示:
document=SomeRanddomAlphaNumeric/10DigitNumber, user=
一些例子:
我期待着发现:
ducument=LKJHuasfb89/9878476578, user=
ducument=jhdn uryhf 9adu/6767898893, user=
ducument=iujjnbmr Ohndj88isju/6767898734, user=
并将其转化为:
ducument=replacetext, user=
ducument=replacetext, user=
ducument=replacetext, user=
我将此用作sed命令:
$ sed -i 's/regex/replacetext/g' $file.txt
替换文本是常量,但我需要上述命令的正则表达式。如果前面的文本不包含任何斜杠字符(
/
),则可以如下匹配10位序列:
sed 's|\(ducument=[^/]*/\)[0-9]\{10\}|\1replacetext|' infile
如果前面的文本不包含任何斜杠字符(
/
),则可以按如下方式匹配10位序列:
sed 's|\(ducument=[^/]*/\)[0-9]\{10\}|\1replacetext|' infile
这一战略经济对话应在以下方面发挥作用:
sed -i.bak 's/^\(document=\)[^,]*/\1replacetext/' file
这一战略经济对话应在以下方面发挥作用:
sed -i.bak 's/^\(document=\)[^,]*/\1replacetext/' file
这会管用的
sed 's/\(ducument=\)\([^,]\+\)/\1replacetext/g' file
这会管用的
sed 's/\(ducument=\)\([^,]\+\)/\1replacetext/g' file
这些示例是预期的输出吗?不,它们是我要替换的模式。我会更新最新的问题!这些示例是预期的输出吗?不,它们是我要替换的模式。我会更新最新的问题!嗯,谢谢!此命令是否适用于输入文件中同一字符串的多次出现?@Youhan:如果它们在同一行上,则为是,否则需要在sed命令中添加
g
标记。嗯,谢谢!此命令适用于输入文件中同一字符串的多次出现吗?@Youhan:如果它们在同一行上,则为是,否则需要在sed命令中添加g
标志。