![2015年7月14日を2015年8月14日に変換する方法 [重複]](https://linux33.com/image/70957/2015%E5%B9%B47%E6%9C%8814%E6%97%A5%E3%82%922015%E5%B9%B48%E6%9C%8814%E6%97%A5%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%20%5B%E9%87%8D%E8%A4%87%5D.png)
14/Jul/2015
にどのように変換できますか14-08-2015
?
invalid date format
要素のせいと言うのに入れておくとJul
うまく07
動作します。
私はこれを試しました:
echo "Please enter the date: "
read X (here X is 14/Jul/2015)
a= date --date=$X '+%d-%b-%y'
echo "$a"
答え1
$x
含まれている場合は、14/Jul/2015
以下を使用してください。
date -d "${x//\//-}" '+%d-%m-%Y'
次のように印刷されます。
14-07-2015
ユーティリティdate
はスラッシュで区切られた文字列を認識しないため、その文字列を削除して-
ダッシュ()に置き換える必要があります。
答え2
問題はでJul
はありません/
ので、パラメータ置換メカニズムを使用して削除してください。
echo "Please enter the date: "
read X
a=$(date --date="${X//\//-}" '+%d-%b-%y')
echo "$a"
変数の割り当ても間違っており(後にスペースを使用できません=
)、コマンド置換を角かっこで囲む必要があります$()
。