bashスクリプトでCSVファイルを読み込む方法
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"
TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法
TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。
1.問題点
TeraTermでサーバにログインすると下記のダイアログが表示されることがあります。
サーバはこのマシンに転送を試みました.
localhost 上のXサーバへの接続を要求しました (ディスプレイ 0:0).
接続は拒否されました (おそらくサービス停止中です)(code 10061).
転送接続を終了します.
このダイアログを消すとログインまで辿り着きますが、そもそもこのダイアログを表示させない方法がわかりません。
ということで、TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。
2.「サーバはこのマシンに転送を試みました」のメッセージを抑止する
メッセージを抑止するには、「設定」→「SSH転送を選択」
「リモートのXアプリケーションをローカルのXサーバに表示する」のチェックを外します。
これでSSHログイン時にダイアログが表示されなくなると思います。
PowerPoint 2024ダウンロード版のライセンス認証手順
PowerPoint 2024インストール版(サブスクではない)をAmazonで購入しました。
Amazonで購入すると、ライセンスキーと併せて下記の手順が送られてきます。
- www.office.com/setup/ にアクセスします。
- 指示に従い、25桁のプロダクトキーを入力します。
- ご利用したい Microsoft アカウントでサインインします。Microsoft アカウントをお持ちでない場合は、作成してください。
- Windows PC または Mac に Office アプリをダウンロードしてください。
上記ののダウンロードからインストールまでは割と楽に手順を踏めたのですが、PowerPoint初回起動後のライセンス認証がわかりにくかったので、キャプチャできた画面を使って紹介します。
初回起動すると操作は行えず、下記のダイアログが表示されるので「Microsoft365を購入」をクリックしてみます。
Microsoft365購入画面が表示されるだけなので閉じます。
この間の操作を忘れてしまったのですが、再び何かのダイアログが表示され、サブスクの誘惑に屈することなく操作をしていたら下記の画面が出たので、「プロダクトキーを所有している場合」をクリック。
キャプチャしていませんが、このあとプロダクトキー入力画面が出たので、プロダクトキーを入力すると下の画面が表示されたので、再度「プロダクトキーを所有している場合」をクリック。
このあと再度プロダクトキー入力画面が出たので、プロダクトキーを入力すると、このライセンス認証画面が出たので、メールアドレスを入力(プロダクトキーを入力した方がよかったかもしれません)。
これでライセンス契約同意画面が表示されるので「同意する」をクリック。
このあとも使用可能になる前の設定が表示されますが、たいした問題ではないので省略。
うっかりすると間違えてサブスクリプション購入してしまうので、ダウンロード版を購入された場合はサブスクリプション契約しないよう、注意しましょう。