嗨,我有一个像这样的shell变量
input="/local/1/hadoop/MISDATA1/Risk_Analytics/blocker/risk/"
我想将最后一部分'风险'替换为'risk_unzip',就像这样
/local/1/hadoop/MISDATA1/Risk_Analytics/blocker/risk_unzip/
我试过这个
output="$( echo -e "$input" | tr 'risk' 'risk_unzip' )"
不适合我。任何帮助将不胜感激。
答案 0 :(得分:2)
如果你正在使用bash:
api.doAsync().doAnotherAsync()...
如果您希望它与任何Posix shell一起使用(在这种情况下,bash标记不正确),但您知道output=${input/risk/risk_input}
是最后一个组件:
risk
答案 1 :(得分:1)
尝试sed
,如下所示: -
input="/local/1/hadoop/MISDATA1/Risk_Analytics/blocker/risk/"
input=$(echo "$input" | sed 's/risk/risk_unzip/g')
答案 2 :(得分:0)
以下内容对您有帮助。
echo "$input" | awk -F"/" '$(NF-1)=="risk"{$(NF-1)="risk_unzip"} 1' OFS="/"