特定の形式で日付を印刷する

特定の形式で日付を印刷する

次の日付形式を使用してbashスクリプトからログを印刷しようとしています。

 2018-03-22 09:54:05,$task   ( $task is a counter of command )

 echo " `date +% .... ,$task` INFO $1"   ( $1 is the $1 argument that we want to print )

はい

 2018-03-22 09:54:05,001 INFO script begin to start server
 2018-03-22 09:54:05,001 INFO script begin to start agent

答え1

echoこの場合、以下は必要ありません。

date +"%F %T,$task INFO $1"

$taskまたはが$1含まれている場合は、フォーマットシーケンスとして解釈されないように最初に%置き換える必要があります。これは次の方法で行うことができます。%%datebash

date +"%F %T,${task//%/%%} INFO ${1//%/%%}"

答え2

~からman date:

%F     full date; same as %Y-%m-%d
%T     time; same as %H:%M:%S

関連情報