我有一条这样的路径:
dirname=../2Reconnaissance-annoted/J39/IMG_2208.json我想通过将".json“替换为"_json”来获得一个新路径,所以我尝试了这个命令:
tr "\.json" "_json" <<<$dirname问题是我得到了:
__/2Reconnaissance-annoted/J39/IMG_2208_json而不是
../2Reconnaissance-annoted/J39/IMG_2208_json请问你是怎么修的?
发布于 2019-06-03 17:35:45
tr执行音译,即它用字符代替字符,而不是用字符串代替字符串。你需要的是替换。
大多数shell直接支持替换:
dirname=${dirname/.json/_json}(${dirname/%.json/_json}只替换字符串末尾的子字符串)。
如果您的shell不支持它,您可以使用sed
echo "$dirname" | sed -e 's/\.json$/_json/'https://stackoverflow.com/questions/56424507
复制相似问题