echo "/home/repository/tags/1.9.1/1.9.1.8/core" | sed "s/HELP/XXX/g"
我需要一些帮助来替换标签和核心之间的内容,比如说 XXX。所以我想要的输出是/home/repository/tags/XXX/core。
字符串是目录路径,其中/home/repository/tags 是唯一不变的部分。路径总是有六层深。所以它可能并不总是在标签和核心之间。
最佳答案
echo "/home/repository/whatever/1.9.1/1.9.1.8/core/and/more/junk" \
| sed 's@\(/[^/]*/[^/]*/[^/]*\)/[^/]*/[^/]*@\1/XXX@'
产量...
/home/repository/whatever/XXX/core/and/more/junk
关于regex - 如何使用sed替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207575/