Làm cách nào để xóa dấu phẩy trong bash

lập trình


xin chào các bạn tôi có một mã, mã này hãy in mã này

https://api.binance.com/api/v3/ticker?symbols=["BTCUSDT","BNBBTC",]&windowSize=1d&type=full

tôi muốn xóa dấu phẩy cuối cùng bên trong dấu ngoặc đơn vuông tôi muốn thứ gì đó như thế này

https://api.binance.com/api/v3/ticker?symbols=["BTCUSDT","BNBBTC"]&windowSize=1d&type=full

làm sao có thể làm được điều đó

Những gì tôi đã thử:

<pre>urlencode() {
    local string="$1"
    local length="${#string}"
    local result=""

    for (( i = 0; i < length; i++ )); do
        local c="${string:$i:1}"
        case $c in
            [-_.~a-zA-Z0-9]) result+="$c" ;;
            *) result+="%$(printf '%02X' "'$c")" ;;
        esac
    done

    echo "$result"
}


# ----------------  BINANCE  -------------------------------------
# Market
# Market Data

ServerBinance="https://api.binance.com/api/v3"
response="" 
_Bin_RollingWindowPriceChangeStat() {
    local apiUrl="$ServerBinance/ticker"

    # Verifica la presenza di symbol o symbols
    if [[ "$1" == *","* ]]; then
        IFS=',' read -ra symbols <<< "$1"
        local encodedSymbols=$(IFS=,; printf "\"%s\"," "${symbols[@]}")
        apiUrl+="?symbols=[$encodedSymbols]"
        shift
    elif [ -n "$1" ]; then
        apiUrl+="?symbol=[\"$1\"]"
        shift
    fi

    # Aggiungi i restanti parametri
    if [ -n "$1" ] && [ -n "$2" ]; then
        apiUrl+="&windowSize=$1&type=$2"
    fi

    # Visualizza l'URL costruito prima della chiamata di curl
    echo "URL: $apiUrl"

    response=$(curl -s -X GET "$apiUrl")
}

Giải pháp 1

Sử dụng chuỗi thay thế: Cách thay thế chuỗi con trong Bash nguyên bản[^]

Chuỗi cần tìm: ",]

Chuỗi để thay thế nó bằng: "]

Nếu có “dấu phẩy dự phòng” thì nó sẽ bị xóa. Nếu không, chuỗi sẽ không thay đổi.

コメント

タイトルとURLをコピーしました