3

私は取りたい/home/deploy/releases/20120821203354

そして戻る:

2012-08-21 20:33

基本的には後のものを取り、'releases/'数字の位置に基づいて分割します。

背景:OS X 10.7; bashスクリプトで使用されます。

/恥ずかしい
4

3 に答える 3

6

はい、どうぞ。

a=/home/deploy/releases/20120821203354                                          
b=${a#/home/deploy/releases/}                                                   
c="${b:0:4}-${b:4:2}-${b:6:2} ${b:8:2}:${b:10:2}"

シェルパラメータの拡張がすべてです

于 2012-08-22T02:36:34.240 に答える
3

OSXのbashでは、dateFreeBSDの場合と同じようにコマンドを使用できます。

$ text="/home/deploy/releases/20120821203354"
$ date -j -f "%Y%m%d%H%M%S" "${text##*/}" '+%Y-%m-%d %H:%M'
2012-08-21 20:33

BSDオペレーティングシステムのオプションはdate、Linuxの場合とは異なることに注意してください。

于 2012-08-22T03:02:29.647 に答える
1

これをニーズに適合させることができるはずです。

echo " /home/deploy/releases/20120821203354" | awk -F/ '{print $5}' | awk '{print substr($0,0,4)"-"substr($0,5,2)"-"substr($0,7,2)" "substr($0,9,2)":"substr($0,11,2)}'
于 2012-08-22T02:34:17.040 に答える