質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Q&A

解決済

3回答

7990閲覧

シェルスクリプトで日付の形式を変更したい

teltel07

総合スコア42

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

0グッド

0クリップ

投稿2020/05/18 05:58

変数に入っている日付の形式を以下のように「-」から「/」に変更したいと考えています。
tr を試しましたが、上手く置換してくれません。

2020-05-18 → 2020/05/18

基礎的な質問で申し訳ございませんが、よろしくお願いいたします。

試した事

DATE=DATE | tr '-' '/'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

1.Bash/Zshの変数展開時の置換機能を使う方法
(コマンドを起動しないので環境に優しい)

Bash

1DATE=${DATE//-//}

2.trを使う方法
(質問文のコードを動くように修正)

sh

1DATE=`echo $DATE | tr - /`

3.dateコマンドを使う方法
(不正な日付だったら、エラーにして検知したいとき)

sh

1DATE=`date +%Y/%m/%d -d "$DATE"`

投稿2020/05/18 06:27

編集2020/05/18 06:38
otn

総合スコア84727

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teltel07

2020/05/18 06:36

ありがとうございました! 置換したものを変数へ再代入したかったので、非常に参考になりました!
guest

0

任意の日付時刻を任意のフォーマットで。

echo '2015-05-18' |date -f - '+%Y/%m/%d'

投稿2020/05/18 06:11

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teltel07

2020/05/18 06:35

ありがとうございました! 求めていた形式で表示できたので参考にさせていただきます!
guest

0

ベストアンサー

Bash

1DATE=DATE | tr '-' '/'

前半部分が意味がありません。

変数に入っているなら、

Bash

1echo $DATE | tr '-' '/'

また、dateコマンドでフォーマットを指定して日付を取得することも可能です。

Bash

1date "+%Y/%m/%d"

投稿2020/05/18 06:07

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teltel07

2020/05/18 06:34

ありがとうございました! いくつか解決策を提示いただいたのでベストアンサーとさせていただきました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問