用标签替换路径中的某些元素

用标签替换路径中的某些元素

我想按照特定的模式修改路径。

例如

./foo/1023023/43655345/bar/

变成

./foo/_dir_/_dir_/bar/

该模式始终以 /foo/ 开头,后面跟着 2 个以数字作为名称的目录(要用标签替换的字符串目录)。

我尝试使用 sed,但我的正则表达式技能不足以解决这个问题。我不知道如何用标签替换两个目录字符串。

答案1

您的问题说明不完整;标签是固定的吗?还是它取决于数字或路径的其他方面?两次替换是否相同?

简单的解决方案(对上述问题的答案最简单的假设)是

sed 's,/foo/[0-9][0-9]*/[0-9][0-9]*/,/foo/_dir_/_dir_/,'

但我想实际问题并不涉及固定_dir_字符串。

相关内容