bashスクリプトでCSVファイルを読み込む方法

February 14,2025 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashスクリプトでCSVファイルを読み込む方法を紹介します。

1.問題点

bashスクリプトで大量CSVのデータを読み込む必要が生じましたが、読み込む方法がわかりません。

ということで、bashスクリプトでCSVファイルを読み込む方法を紹介します。

2.bashスクリプトでCSVファイルを読み込む

ここではCSVファイルに「名前」「ユーザー名」「パスワード」を3件設定したファイル(sample.csv)を読み込むものとします。

山田,yamada,GU2LTgyM
鈴木,suzuki,Njg4ZWYz
佐藤,sato,b291bf53

bashスクリプト(test.sh)でCSVファイルを読み込むには次のようにします。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"

これでCSVファイルの内容が1行ずつ読み込まれ、変数$NAME,$USER,$PASSにそれぞれ格納されます。

あとは、必要な処理をその中に追加すればOKです。

実行結果

$ ./test.sh sample.csv
名前: 山田
ユーザー名: yamada
パスワード: GU2LTgyM
名前: 鈴木
ユーザー名: suzuki
パスワード: Njg4ZWYz
名前: 佐藤
ユーザー名: sato
パスワード: b291bf53

引数が設定されていない場合のチェックを行うには、赤字の処理を追加します。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# 引数が指定されていない場合のエラーメッセージ
if [[ -z "$input_file" ]]; then
    echo "使用法: $0 <CSVファイル名>"
    exit 1
fi
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"

さらに、CSVファイルにコメント行や空行が含まれる場合は赤字の処理を追加します。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# 引数が指定されていない場合のエラーメッセージ
if [[ -z "$input_file" ]]; then
    echo "使用法: $0 <CSVファイル名>"
    exit 1
fi
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    # 空行やコメント行はスキップ
    if [[ -z "$NAME" || "$NAME" =~ ^# ]]; then
        continue
    fi
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"
Comments [0] | Trackbacks [0]

TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法

February 3,2025 11:55 PM
Category:[Linux]
Tag:[Linux, TeraTerm]
Permalink

TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。

1.問題点

TeraTermでサーバにログインすると下記のダイアログが表示されることがあります。

サーバはこのマシンに転送を試みました.
localhost 上のXサーバへの接続を要求しました (ディスプレイ 0:0).
接続は拒否されました (おそらくサービス停止中です)(code 10061).
転送接続を終了します.

このダイアログを消すとログインまで辿り着きますが、そもそもこのダイアログを表示させない方法がわかりません。

ということで、TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。

2.「サーバはこのマシンに転送を試みました」のメッセージを抑止する

メッセージを抑止するには、「設定」→「SSH転送を選択」

「リモートのXアプリケーションをローカルのXサーバに表示する」のチェックを外します。

これでSSHログイン時にダイアログが表示されなくなると思います。

Comments [0] | Trackbacks [0]

PowerPoint 2024ダウンロード版のライセンス認証手順

January 7,2025 11:55 PM
Category:[PowerPoint]
Tag:[Microsoft, PowerPoint]
Permalink

PowerPoint 2024インストール版(サブスクではない)をAmazonで購入しました。

Amazonで購入すると、ライセンスキーと併せて下記の手順が送られてきます。

  1. www.office.com/setup/ にアクセスします。
  2. 指示に従い、25桁のプロダクトキーを入力します。
  3. ご利用したい Microsoft アカウントでサインインします。Microsoft アカウントをお持ちでない場合は、作成してください。
  4. Windows PC または Mac に Office アプリをダウンロードしてください。

上記ののダウンロードからインストールまでは割と楽に手順を踏めたのですが、PowerPoint初回起動後のライセンス認証がわかりにくかったので、キャプチャできた画面を使って紹介します。

初回起動すると操作は行えず、下記のダイアログが表示されるので「Microsoft365を購入」をクリックしてみます。

ダイアログ

Microsoft365購入画面が表示されるだけなので閉じます。

Microsoft365購入画面

この間の操作を忘れてしまったのですが、再び何かのダイアログが表示され、サブスクの誘惑に屈することなく操作をしていたら下記の画面が出たので、「プロダクトキーを所有している場合」をクリック。

ダイアログ

キャプチャしていませんが、このあとプロダクトキー入力画面が出たので、プロダクトキーを入力すると下の画面が表示されたので、再度「プロダクトキーを所有している場合」をクリック。

ダイアログ

このあと再度プロダクトキー入力画面が出たので、プロダクトキーを入力すると、このライセンス認証画面が出たので、メールアドレスを入力(プロダクトキーを入力した方がよかったかもしれません)。

ライセンス認証画面

これでライセンス契約同意画面が表示されるので「同意する」をクリック。

ライセンス契約同意画面

このあとも使用可能になる前の設定が表示されますが、たいした問題ではないので省略。

うっかりすると間違えてサブスクリプション購入してしまうので、ダウンロード版を購入された場合はサブスクリプション契約しないよう、注意しましょう。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages