日付形式を「09-12:36:10」から「09-月-年12:36:10」に変換する方法(「月」を現在の年に変更し、現在の月名(3文字の略語)と「年」) (4桁)、awkを使用していますか?
答え1
単に、
echo 09-12:36:10 | awk -F '-' -v date="$(date +"-%b-%Y " )" '{ print $1date$2}'
その月を大文字で表示するには、次の手順を実行します。
echo 09-12:36:10 | awk -F '-' -v date="$(date +"-%b-%Y " )" '{ print toupper($1date$2)}'
答え2
これがどれほど強力であるべきかは不明ですが、これが始まりです。
#!/usr/bin/awk -f
BEGIN {
FS = "-"
}
{
print $1 "-MONTH-YEAR", $2
}
答え3
GNU Awk( ) があればgawk
組み込みsystime
とstrftime
gawk -F'[-]' '{print $1, strftime("%b %Y", systime()), $2}'
前任者。
$ echo '09-12:36:10' | gawk -F'[-]' '{print $1, strftime("%b %Y", systime()), $2}'
09 Jul 2018 12:36:10
大文字の略式月が必要な場合は、%^b
次のようにしてください。
$ echo '09-12:36:10' | awk -F'[-]' '{print $1 strftime("-%^b-%Y", systime()), $2}'
09-JUL-2018 12:36:10