シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。
Q&A
解決済
3回答
10304閲覧
総合スコア42
0グッド
0クリップ
投稿2020/05/18 05:58
0
変数に入っている日付の形式を以下のように「-」から「/」に変更したいと考えています。 tr を試しましたが、上手く置換してくれません。
2020-05-18 → 2020/05/18
基礎的な質問で申し訳ございませんが、よろしくお願いいたします。
DATE=DATE | tr '-' '/'
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答3件
1.Bash/Zshの変数展開時の置換機能を使う方法 (コマンドを起動しないので環境に優しい)
Bash1DATE=${DATE//-//}
Bash
1DATE=${DATE//-//}
2.trを使う方法 (質問文のコードを動くように修正)
tr
sh1DATE=`echo $DATE | tr - /`
sh
1DATE=`echo $DATE | tr - /`
3.dateコマンドを使う方法 (不正な日付だったら、エラーにして検知したいとき)
date
sh1DATE=`date +%Y/%m/%d -d "$DATE"`
1DATE=`date +%Y/%m/%d -d "$DATE"`
投稿2020/05/18 06:27
総合スコア86457
回答へのコメント
2020/05/18 06:36
任意の日付時刻を任意のフォーマットで。
echo '2015-05-18' |date -f - '+%Y/%m/%d'
投稿2020/05/18 06:11
総合スコア13727
2020/05/18 06:35
ベストアンサー
Bash1DATE=DATE | tr '-' '/'
1DATE=DATE | tr '-' '/'
前半部分が意味がありません。
変数に入っているなら、
Bash1echo $DATE | tr '-' '/'
1echo $DATE | tr '-' '/'
また、dateコマンドでフォーマットを指定して日付を取得することも可能です。
Bash1date "+%Y/%m/%d"
1date "+%Y/%m/%d"
投稿2020/05/18 06:07
総合スコア7196
2020/05/18 06:34
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
シェルスクリプトで日付の形式を変更したい
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/18 06:36