簡體   English   中英

拆分字符串變量並僅使用部分 bash

[英]Split a string variable and use only a section bash

我有一個如下所示的變量。

1.1.0.1580308800316

有沒有辦法將 1.1.0 作為單獨的變量,將 1580308800316 作為單獨的變量? var1=1.1.0 and var2=1580308800316

我嘗試了以下可以找到的代碼行。

echo 1.1.0.1580308800316 | fold -w6

但它並沒有給我帶來我想要的結果。

``

使用標准 POSIX shell 是可能的:

#!/usr/bin/env sh

version='1.1.0.1580308800316'

var1="${version%.*}"
var2="${version##*.}"

printf 'Version: %s\n' "$version"
printf 'Var1: %s\n' "$var1"
printf 'Var2: %s\n' "$var2"

Output:

Version: 1.1.0.1580308800316
Var1: 1.1.0
Var2: 1580308800316

盡管恕我直言,您可以從文本中創建 2 個元素,並可以保存在數組的 2 個元素中,然后一項一項地使用該數組項,因為 OP 堅持只有變量,所以您可以為此使用cut命令。

first_var=$(echo "1.1.0.1580308800316"  | cut -d'.' -f1-3)
second_var=$(echo "1.1.0.1580308800316"  | cut -d'.' -f4)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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