日付/タイムスタンプ文字列を切り捨てるには?

日付/タイムスタンプ文字列を切り捨てるには?

だから私は使用しています

 TIMESTAMP=$( stat -c "%y" $JARNAME.jar )
 print $TIMESTAMP

出力は次のとおりです2015-04-24 17:23:03.000000000 -0500

2015-04-24 17:23:03部分だけが必要です。

答え1

あなたはLinuxバージョンを使用しているようですので、GNUバージョンもstat(1)使用しているとします。coreutilsdate(1)

TIMESTAMP=$( date +'%Y-%m-%d %H:%M:%S' -r "$JARNAME".jar )

答え2

あなたはGNU stat単に使用することができますポイント修飾子はじめに文字%と書式を指定する文字の間に1stat --printf "%.19y" filename(+フィールド幅)があります。たとえば、あなたの場合は次のようになります。

TIMESTAMP=$(stat -c "%.19y" infile)

使用できBSD/OSX statます(-f滞在)と-t時間)スイッチ:

TIMESTAMP=$(stat -f '%Sm' -t '%Y-%m-%d %H:%M:%S' infile)

1
点:フィールドの幅とともにテキストが長くなると、フィールドは拡張されずに切り捨てられます。

答え3

この試みパラメータ拡張:

echo "${TIMESTAMP%.*}"

出力:

2015-04-24 17:23:03

答え4

または切り取りを使用してください。

TIMESTAMP=$( stat -c "%y" $JARNAME.jar | cut -d. -f1 )
print $TIMESTAMP

関連情報