修复 sed 命令以有条件地包含字符

修复 sed 命令以有条件地包含字符

如果深度大于三级,我该如何改进pwd | sed -e 's/.*\/\(.*\)\/\(.*\)\/\(.*\)/...\1\/\2\/\3/'才能返回省略号?pwd

目标是避免...home/example/foo,但仍接收...example/foo/bar

答案1

pwd | sed -e 's/\/.*\/\(.*\)\/\(.*\)\/\(.*\)/...\1\/\2\/\3/'

为提高可读性,一个技巧是,当您需要使用大量斜杠时,使用另一个正则表达式分隔符:

pwd | sed -e 's#/.*/\(.*\)/\(.*\)/\(.*\)#...\1/\2/\3#'

相关内容