2016-07-13 6 views
2

bashでは、5桁の数字に1を加算する必要があります。文字列から5桁の数字が抽出されます。バッシュサム5桁番号

例:

#!/bin/bash 
SUBSTRING_LATEST=$(echo $MYFILE | cut -c15-19) 

その行が返されます:00016

私はその数に1を加算して取得しようとしている はtxtファイルに存在する文字列から5桁の数字を取得するにはこれを試し00017

などの最終的な結果が、運

SUM_FINAL=$((SUBSTRING_LATEST + 1)) 

しかし、それは、私は本当にあなたが0で始まる任意の番号が8進数として解釈されそうbase 10算術を使用することができます任意の助けに

おかげ

+1

先頭の0の数字は8進数として扱われます。 8進数(17)=整数(15) –

答えて

2

を認める15

返します

進を使用して
s='00016' 
printf "%05d" $((10#$s + 1)) 
00017 

を算術演算を得る:

printf "%05d" $(($s + 1)) 
00015 
+1

+1のような基数10の算術を指定できるかどうかわかりませんでした。 –

+2

@Jonny 'bash'は' printf'をサポートしています: 'printf"%05d "$ SUM_FINAL' – lurker

+0

ありがとうございました。私は0を追加しましたが、' 0'は数字に意味を持たず、3つ以上の先行0よく – anubhava

関連する問題