String 使用bash/sh脚本从字符串中删除特定字符和特殊字符
只需从上述变量中提取此字符串的一部分String 使用bash/sh脚本从字符串中删除特定字符和特殊字符,string,bash,replace,sh,special-characters,String,Bash,Replace,Sh,Special Characters,只需从上述变量中提取此字符串的一部分 myVar = designers/Atom-CMP-d0b3695.zip 我尝试了几种方法,但仍然找不到解决这个问题的合适方法?任何快速的帮助都是非常有用的 myDesiredVar = CMP-d0b3695 将grep与perl regex:\K一起使用,是为了给后面带来积极的印象。而[^.]+的意思是,直到看到文字点为止 var=$(command…)这称为命令替换。希望现在垃圾场有用 将grep与perl regex:\K一起使用,是为了给后
myVar = designers/Atom-CMP-d0b3695.zip
我尝试了几种方法,但仍然找不到解决这个问题的合适方法?任何快速的帮助都是非常有用的
myDesiredVar = CMP-d0b3695
将grep
与perl regex
:\K
一起使用,是为了给后面带来积极的印象。而[^.]+
的意思是,直到看到文字点为止
var=$(command…)
这称为命令替换。希望现在垃圾场有用
将grep
与perl regex
:\K
一起使用,是为了给后面带来积极的印象。而[^.]+
的意思是,直到看到文字点为止
var=$(command…)
这称为命令替换。希望现在垃圾场有用 使用bash
字符串操作:
myVar=designers/Atom-CMP-d0b3695.zip
myDesiredVar=$(echo "$myVar" |grep -oP '\-\K[^.]+')
echo $myDesiredVar
CMP-d0b3695
输出:
s='myVar = designers/Atom-CMP-d0b3695.zip'
r="${s%.*}"
r="${r#*-}"
使用
bash
字符串操作:
myVar=designers/Atom-CMP-d0b3695.zip
myDesiredVar=$(echo "$myVar" |grep -oP '\-\K[^.]+')
echo $myDesiredVar
CMP-d0b3695
输出:
s='myVar = designers/Atom-CMP-d0b3695.zip'
r="${s%.*}"
r="${r#*-}"
sed解决方案:
echo "$r"
CMP-d0b3695
res=$(sed的/^[^-]*-\([^.]*\)./\1/'sed解决方案:
echo "$r"
CMP-d0b3695
res=$(sed的/^[^-]*-\([^.]*\)./\1/'如果可能,请解释您的答案,而不仅仅是在代码中转储。谢谢!如果可能,请解释您的答案,而不仅仅是在代码中转储。谢谢!