作者 主題: 請問關於 shell script 格式化數字輸出?  (閱讀 5197 次)

0 會員 與 1 訪客 正在閱讀本文。

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
我寫了一個 shell script 根據日期來備份每日工作資料
例如:  20090305-xxxxxxxxx-02.tar.gz

日期的產生沒問題, 後面的 02 是當日備份的次數
我用 seq 1 60 放進廻圈裡自動判斷上一次備份到多少編號

引用
for num in `seq 1 60`
do
  nn=`echo $num|awk '{printf "%02d", $1}'`
  gzfile="$path1/$ndate-xxxxxxx-$vernum-$nn-src.tar.gz"
  if [ ! -f $gzfile ]
  then
    break
  fi
done
echo $gzfile

然後 $gzfile 帶到 tar 打包壓縮
目前是可以正常使用, 編號也會自動判斷增加

我想問的是:
shell script 有沒有自己的格式化數字輸出的功能?

上面我只想到能用 awk 的 printf 來做  :D

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #1 於: 2009-03-05 23:15 »
嗯~~ 剛剛想到也可以這樣

代碼: [選擇]
nn=`printf %02d $num`

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #2 於: 2009-03-06 00:36 »
恩,用 printf 就好。

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #3 於: 2009-03-06 09:08 »
嗯嗯, 了解, 感謝 ^^

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #4 於: 2009-03-08 04:27 »
幫忙補充
Type `bash -c "help set"' for more information about shell options.  <---詳細說明
Type `bash -c help' for more information about shell builtin commands.     <---可以看到bash內建的指令清單

bash -c "help printf"
printf: printf [-v var] format [arguments]
    printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT
    is a character string which contains three types of objects: plain
    characters, which are simply copied to standard output, character escape
    sequences which are converted and copied to the standard output, and
    format specifications, each of which causes printing of the next successive
    argument.  In addition to the standard printf(1) formats, %b means to
    expand backslash escape sequences in the corresponding argument, and %q
    means to quote the argument in a way that can be reused as shell input.
    If the -v option is supplied, the output is placed into the value of the
    shell variable VAR rather than being sent to the standard output.
<0  =_=  Don't learn to hack , hack to learn.

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #5 於: 2009-03-08 10:06 »
多謝補充, 我都是用男人看說明 ^.^

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17463
    • 檢視個人資料
    • http://www.study-area.org
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #6 於: 2009-03-08 10:31 »
多謝補充, 我都是用男人看說明 ^.^

是啊,男人真命苦!  ^_^

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 請問關於 shell script 格式化數字輸出?
« 回覆 #7 於: 2009-03-08 11:12 »
多謝補充, 我都是用男人看說明 ^.^

是啊,男人真命苦!  ^_^

嗯嗯, linux 東西實在是太多, 太廣了,
男人是一定要隨傳隨到的呀  ;D