我想做5-9=-4
並刪除-
減號,然後在4
中加3
。如何將終端的數值傳遞給caculator?
例如
5-9=-4. 4 + 3 = 7
我該怎麼做?我試過echo "5-9" | bc | last + 3
。
但它不起作用。
我想在單行linux命令中做。
我想做5-9=-4
並刪除-
減號,然後在4
中加3
。如何將終端的數值傳遞給caculator?
例如
5-9=-4. 4 + 3 = 7
我該怎麼做?我試過echo "5-9" | bc | last + 3
。
但它不起作用。
我想在單行linux命令中做。
有點哈克,但在這裏:
echo "5-9" | bc | sed 's/-//' | sed 's/.*/\0+3/' | bc
第一SED呼叫刪除第一減號,轉向-4〜4。第二符連接 4到4 + 3。
嗨,謝謝。它工作正常。我想知道鋤頭最後的sed命令(sed's /.*/ \ 0 + 3 /')是否有效? – user2866747
/.*/部分用正則表達式選擇整個輸入。這個。表示任何字符,*表示零個或多個字符,組合表示整個輸入。然後你得到/ \ 0 + 3 /,這意味着替換爲選擇,\ 0,然後是+3,這完全替代了。*或所有內容,用\ 0 + 3或所有內容+ 3 –
謝謝。但我想知道爲什麼0,零是需要的?如果我把1或其他值而不是0零,然後我得到錯誤。 – user2866747
試試這個。
echo -e "5-9 \n . * -1 \n .+3" | bc | tail -1
只需使用括號,這個解決方案應該在幾個不同的炮彈運行:
echo $((-(5 - 9) + 3))
let "a = -(5 - 9) + 3"; echo $a
這看起來少了很多類似的編程和更多:
上的bash下運行像簡單的shell腳本,所以超級用戶可以說是一個更好的地方。否則,使用您正在使用的特定外殼進行標記並從那裏進行。 –
你可以試試'x = $((5 - 9)); x = $(($ {x# - } + 3)); echo $ x'。 –