开发者社区> 问答> 正文

如何简化处理路径替换

我有一个 /tmp/aa/bb.txt 的文件。我现在要把这个路径替换成 tmp-aa-bb.txt

现在的处理方法是 echo "/tmp/aa/bb.txt" | sed "s///-/g" | cut -b 2-

想问下是否有命令可以直接匹配替换后面部分

展开
收起
a123456678 2016-06-20 15:38:39 1789 0
1 条回答
写回答
取消 提交回答
  • echo "/tmp/aa/bb.txt" | tr "/" "-" | cut -b 2-
    这样?

    如果是不想要匹配第一个字符,那么正则的负向预查也能搞定。可惜sed不支持,用Python就是这样

    # encoding: UTF-8
    import re
    print re.sub(r'(?!^)\/','-', '/tmp/aa/bb.txt')
    输出/tmp-aa-bb.txt

    语句越复杂,可维护性越低,何必动这种心思。

    2019-07-17 19:44:12
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载