我有一个 /tmp/aa/bb.txt 的文件。我现在要把这个路径替换成 tmp-aa-bb.txt
现在的处理方法是 echo "/tmp/aa/bb.txt" | sed "s/\//-/g" | cut -b 2-
想问下是否有命令可以直接匹配替换后面部分。
PHP中文网2017-04-17 12:01:41
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
語句越複雜,可維護性越低,何必動這種心思。