簡體   English   中英

重擊-子串提取

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM