2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[小ネタ] シェルスクリプトで日報作成スクリプトを作ってみた

Last updated at Posted at 2024-12-16

きっかけ

日報書くためのフォーマットをなんか作りたいなあと思ったので作りました。
日付で管理できるのであとあとの振り返りに便利だと思うので是非ご活用ください

スクリプト本体

create_journal.sh
#!/bin/bash

# 環境変数から本名を取得

if [ -f .env ]; then
  export $(cat .env | xargs)
else
  echo ".envファイルが見つかりません。"
  exit 1
fi


FULL_NAME=${FULL_NAME}

# 現在の日付を取得
TODAY=$(date +"%Y/%m/%d")
YYYY=$(date +"%Y")
MM=$(date +"%m")
DD=$(date +"%d")
WEEKDAY=$(date +"(%a)")  # 曜日を短縮形で取得

# フォルダパスとファイル名を定義
FOLDER="${YYYY}/${MM}"
FILENAME="${YYYY}${MM}${DD}.md"
FILEPATH="${FOLDER}/${FILENAME}"

# フォルダが存在しない場合は作成
if [ ! -d "$FOLDER" ]; then
  mkdir -p "$FOLDER"
fi

# ファイルが既に存在するか確認
if [ -f "$FILEPATH" ]; then
  read -p "ファイル $FILEPATH は既に存在します。上書きしますか? (y/n): " CONFIRM
  if [ "$CONFIRM" != "y" ]; then
    echo "ファイルの作成をキャンセルしました。"
    exit 0
  fi
fi

# ファイルを作成し、内容を書き込む
cat <<EOL > "$FILEPATH"
${YYYY}/${MM}/${DD}${WEEKDAY} ${FULL_NAME}
#作成したいフォーマットを記述
EOL

echo "ファイルが作成されました: $FILEPATH"

read -p "このままそのファイルを開きますか? (y/n): " CONFIRM
  if [ "$CONFIRM" == "y" ]; then
    # 開きたいエディタのコマンドを設定
    # 自分はvscodeで開きたいので code .を設定
    code . $FILEPATH
  fi

使い方

スクリプトに権限を与えてを実行するだけ。
自分の名前だけ.envに設定してください

$ chmod 775 create_journal.sh
$ ./create_journal.sh
.env
FULL_NAME="フル・ネイム"

いいところ

日付に応じたファイルパスに日報のフォーマットが吐き出されます。
スクリプトを実行した日時をそのままファイルパスにしてくれます

日報を生成した際のフォルダ構造
├── 2024
│   ├── 05
│   │   ├── 20240510.md
│   │   ├── 20240516.md
│   │   ├── 20240517.md
│   │   ├── 20240522.md
│   │   ├── 20240523.md
│   │   ├── 20240524.md
│   │   ├── 20240527.md
│   │   ├── 20240528.md
│   │   ├── 20240529.md
│   │   ├── 20240530.md
│   │   └── 20240531.md
│   ├── 06
│   │   ├── 20240603.md
│   │   ├── 20240604.md
│   │   ├── 20240605.md
│   │   ├── 20240606.md
│   │   ├── 20240607.md
│   │   ├── 20240610.md
│   │   ├── 20240611.md
│   │   ├── 20240612.md
│   │   ├── 20240613.md

また、スクリプトを実行するとそのままファイルをいじれます

$ ./create_journal.sh 
ファイルが作成されました: 2024/12/20241216.md
このままそのファイルを開きますか? (y/n): 

まとめ

それなりに便利なのでよければ使ってやってください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?