[英]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.