Shell替換陣列元素之間的間隔符號

2022-02-05 03:55:18 字數 840 閱讀 3492

shell中的陣列是這樣表示的:

arr=(1,2,3,4,5)

它們陣列元素的間隔符號為逗號,如果我相把逗號替換為加號:

echo $

輸出:1+2+3+4+5

這個表示式是我在hackerrank上看到的。原題是,輸入幾個數字,然後求它們的平均數,以下是**:

#!/bin/bash

# 輸入幾個數字並計算出平均值

# 第乙個數字表示需要計算多少個數字

# 計算平均數的時候從第2位開始直到結束

# 如果輸入

# 4# 1

# 2# 9

# 8# 則結果為

# 5.000

read n

arr=($(cat))

arr=$

printf "%.3f" $(echo $(($))/$n | bc -l)

arr=($(cat)) 表示執行cat命令後,使用者可以輸入任意多個數字,這裡的輸入格式是:輸入乙個數字後按回車,然後輸入第二個數字,直到輸入4個數字,並按下ctrl+d結束輸入。

這樣,arr會收到4個數字。表示為:arr=(1,2,9,8),它們之間用逗號分隔。

arr=$會將arr轉為以空格分隔的陣列 arr=(1 2 9 8),全文最核心的一句 $(echo $(($))/$n | bc -l) 意思是將arr陣列轉為以加號為間隔符的陣列,展開後為:

$(echo 1+2+9+8/4 | bc -l)

將這個算數表示式交給bc來計算,得出的結果為 3.750 。注意一下bc -l 引數,-l 表示使用數學庫,它預設可以保持20位的精度。

最後修改:2018-01-27 10:29

php 陣列元素替換,php如何替換陣列裡的字串

php替換陣列裡的字串的方法 可以利用str replace函式來進行替換,如 str replace red pink arr,i 如果搜尋的字串是乙個陣列,那麼它將對陣列中的每個元素進行查詢和替換。如果我們需要替換陣列中的字串,可以利用str replace 函式。語法 str replace ...

shell 陣列元素有空格 shell陣列

陣列介紹 平時的定義a 1,b 2,c 3,變數如果多了,再乙個乙個定義很費勁,並且取變數的也費勁 簡單的說,陣列就是相同資料型別的元素按一定順序排列的集合 陣列就是把有限個型別相同的變數用乙個名字命名,然後用編號區分他們得邊合。這個名字成為陣列名,編號成為陣列下標。組成陣列的各個變數成為陣列的分稱...

使用js替換陣列中元素

記得我最近剛剛做的乙個專案,後端返回的乙個陣列物件,裡面的的位址有問題,乙個在這個ip上乙個在另乙個ip 上,我問他咋辦,他說,你要自己把那個返回的資料重新修改一下就是下面這種,只替換a 中的http後面的ip 位址為當前ip位址其他保留,我去。這個要求可真煩,沒辦法,好吧我就來實現吧 let co...