[英]Bash - substring extraction
我有一个变量"$var"
,类型为: "YYYYMMDD_charcharchar...charchar.ext"
在第一个“ _”之后可以有另一个(1个或多个),也可以没有。
我必须截断第一部分"YYYYMMDD_"
然后保留$new_var
"charcharchar...charchar.ext"
。
我无法使用${string:position}
类的“ bash扩展”,因为我进入了模拟环境(Cygwin)
谢谢。
您用awk标记了问题,因此以下是awk的示例:
$ var="YYYYMMDD_foo_bar_blah"
$ newV=$(awk 'sub(/^[^_]*_/,"")' <<<$var)
$ echo $newV
foo_bar_blah
使用cut
更容易做到这一点:
var="YYYYMMDD_charcharchar...charchar.ext"
new_var=$(echo "$var" | cut -d_ -f2-)
检查输出:
echo "$new_var"
charcharchar...charchar.ext
只需使用参数扩展:
new_var=${var#*_}
#
运算符从扩展中删除与*_
匹配的最短前缀(可以是直到第一个_
,包括第一个_
任何字符)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.