csv から md コード

(2026-06-03)

csv から md に貼りるけるテーブルコードを作成します。

csv

MaRIAスコア,炎症の活動度(状態)
7点 未満,寛解(病勢が落ち着いている)
7点 以上,活動期(軽症〜中等症の炎症あり)
11点 以上,重症の活動期(強い炎症、または潰瘍あり)

これを md に貼り付けるためのコードをシェルスクリプトで自動作成します。

md コード

|MaRIAスコア|炎症の活動度(状態)|
|---|---|
|7点 未満|寛解(病勢が落ち着いている)|
|7点 以上|活動期(軽症〜中等症の炎症あり)|
|11点 以上|重症の活動期(強い炎症、または潰瘍あり)|

このコードを md にそのまま貼り付けると、

MaRIAスコア炎症の活動度(状態)
7点 未満寛解(病勢が落ち着いている)
7点 以上活動期(軽症〜中等症の炎症あり)
11点 以上重症の活動期(強い炎症、または潰瘍あり)

シェルスクリプト

#!/bin/bash
# スクリプトがあるディレクトリ(フォルダー)に移動
cd "$(dirname "$0")"
# 入力ファイルと出力ファイルの定義
INPUT_FILE="input.csv"
OUTPUT_FILE="output.md"
# input.csvが存在するかチェック
if [ ! -f "$INPUT_FILE" ]; then
zenity --error --text="エラー: '${INPUT_FILE}' が見つかりません。同じフォルダーに配置してください。" --title="エラー"
exit 1
fi
# awkを使ってCSVをMarkdownに変換し、output.mdに書き出す
awk -F, '
{
line = "|"
for(i=1; i<=NF; i++) {
line = line $i "|"
}
print line
if (NR == 1) {
sep = "|"
for(i=1; i<=NF; i++) {
sep = sep "---|"
}
print sep
}
}' "$INPUT_FILE" > "$OUTPUT_FILE"
# 完了をポップアップ通知(Linux Mint標準のzenityを使用)
zenity --info --text="変換が完了しました!\n'${OUTPUT_FILE}' を作成しました。" --title="完了"