[問題] 請問shell script的運算問題

看板Linux作者 (花心只是掩飾內心的空虛)時間12年前 (2012/02/20 20:50), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/1
想請教一個shell script的運算問題 假設現今令變數 a=2008 b=2000 c=a-b 我原本預期輸出c=0008, 然而卻是c=8,電腦很好心的自動幫我省去千位到十位數字的0 以數值來看答案是沒錯啦, 不過我現在正在跑一連串的計算, 這牽涉到我的檔案命名方式,這樣的輸出結果會讓我沒辦法繼續執行 e.g. name_$c.com ---------->name_0008.com (預期) name_8.com (實際輸出) 我目前的解決方式是寫一個if 條件是去判斷這種情況, 然後幫檔案名自動補0 不過這樣有點麻煩,想請問一下有沒有解決的辦法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.176.152

02/20 20:52, , 1F
寫成2近位?
02/20 20:52, 1F

02/20 21:13, , 2F
printf '%04d', $c
02/20 21:13, 2F
謝謝,不過我現在又遇到一個問題 我的檔名命名方式是這樣$c.$x 變數 $c 我想要4個位元, 可是變數$x卻只要兩個位元 而且要列印在同一行, 如果用這種打法 printf '%04d', $c $x會變成 0008.0000 還是說要一定分開成這樣才可以 printf '%04d' $c; printf '%02d' $x ※ 編輯: sexyrickysky 來自: 140.136.176.152 (02/20 21:55) ※ 編輯: sexyrickysky 來自: 140.136.176.152 (02/20 21:58) 我知道了,只要打成 printf '%04d.%02d \n' $c $x 就可以了 ※ 編輯: sexyrickysky 來自: 140.136.176.152 (02/20 22:01)

02/20 23:59, , 3F
+1000?
02/20 23:59, 3F
文章代碼(AID): #1FGa6l_D (Linux)