従前、Windows PCで扱っていた住所録Excelファイルを、Ubuntu Linux PC に移設しました。
テキストファイル形式へと変換した住所録データをUbuntu PCに保存し、awkで必要データを取り出すというものです。
awkで必要データを取り出すに当たり、空(カラ)のフィールドの扱いで少し悩みましたが、その問題もクリアーできました。-Fオプションを付け加えることで、思いどおりに動作するようになりました。
awkでの空フィールド問題の解決については、⇒ 下の記事をご覧ください。
テキストファイルから必要なデータを取り出すという、単純な仕組みだから、何も珍しいものではないし、まして、えらそうに自慢できる代物ではありません。それでも、自分なりにあれこれと工夫した結果、それなりに便利な、いえいえかなり便利なツールに仕上がりました。
Linux環境も、慣れれば、とても快適だと感じます。
では、Ubuntuに移設した住所録ファイルですが、自分なりにどのような工夫を施したのか、それがどのように便利なのか、ごく簡単にその項目を列挙しておきます。

1 特別なアプリが不要
従前は、住所録データは表計算アプリExcel形式で活用していました。それが、テキストファイルでの利用に変わりました。言うまでもなく、テキストファイルは汎用のファイル形式で、いろんな場面で利活用できます。何より、その扱いはエディタさえあればよくて、特別なアプリが不要なのは、ありがたいことです。
Ubuntuに備わっているターミナルアプリでも、テキストは、自由に便利に扱えます。おぉ、リーズナボォー、なんと経済的!
2 テキストファイル暗号化
gpg(Gnu PG)というツールを使って、テキストファイルを暗号化しています。gpgを共通鍵暗号方式で利用すると、デフォルトでは AES256(Advanced Encryption Standard 256-bit)という暗号化アルゴリズムが使われます。これがとても高度なセキュリティ強度らしく、スーパーコンピューターでのブルートフォース攻撃(総当り攻撃)であっても、解読までに数百兆年かかるというから驚きです。
これならば、万一、不正アクセスを受けたり、情報漏洩が起きたとしても、安心です。住所録テキストファイルには、多数人の個人情報が格納されているので、慎重な扱いが必要とされるデータです。
ちなみに、gpgもオープンソースのツールですから、無償で利用できるし、Ubuntuに標準で入っています。
なお、gpgによるファイル暗号化に関しては、
2025年9月15日付け記事 ⇒「Windows10サポート終了後にUbuntuでの機密データ保護の方策を探る」 をご覧ください。
3 シェルスクリプト化
テキストファイルから必要なデータを取り出すのに、プログラミング言語awkを使います。1回限りであれば、ターミナルにオプションや引数などをすべて手打ちするのですが、何度も、その都度、すべてを打ち込むのは面倒です。ときには、タイプミスも起きます。
そこで、シェルスクリプトにしておき、何度も使い回せるようにしています。これで、スクリプト名だけの打ち込みで、データ抽出が可能となります。省力化になります。
私の場合、「myadd.sh」(自分用のaddressの意味)というスクリプト名にしています。
4 引数を使って検索
上記3の結果でもあるのですが、シェルスクリプトには引数を付けることができます。その引数をawkが受け取って検索するというスクリプトを書いておけば、とても便利です。シェルスクリプトの引数を検索語にできるわけです。
たとえば、「myadd.sh やまだこうたろう」と打ち込めば、テキストファイルの中から、山田孝太郎氏の住所、電話、メールアドレスを抜き出すことができます。
5 部分一致検索
上記4の検索語(氏名読みのひらがな)は、部分一致検索にしています。そうしておけば、「やまだこうたろ」とフルネームを入力しなくても、「こうた」や「だこうた」と、氏名の一部分の入力でも検索ができます。
正規表現の知識があれば、正規表現を使っての検索もできます。
6 ディレクトリ名の省略
何も設定をしていない場合は、シェルスクリプトの実行のためには、スクリプト名の前にディレクトリ名の入力が必要です。「/home/goosyun/my_script/myadd.sh こうた」といった形での入力です。けれども、スクリプトを保存しているディレクトリをサーチパス(シェルが実行ファイルの所在を探すディレクトリのリスト)に登録しておけば、ディレクトリ名が不要となります。単に「myadd.sh こうたろう」と、スクリプト名と引数の入力だけで済ませることができます。
シェルスクリプトがカレントディレクトリに保存されている場合以外の実行でも、ディレクトリ名の入力が不要なので、実行時の省力化になります。
7 スクリプトを別名で実行
シェルスクリプトには、別名を付けることができます。alias(エイリアス)という機能です。私の場合も、「myadd.sh」 というシェルスクリプトに、「myadd」というエイリアス、別名を付けているので、「myadd こうた」という形で実行できます。つまり、拡張子の入力を忘れがちなので、それを不要としています。
「myadd」という別名でもまだ生ぬるいとあらば、例えば「ad」だけで実行できるようにするのもいいかもしれません。
このように、ちょっと手間をかけるだけで、便利にLinux環境を享受できます。
Windows10のサポート終了に伴って、11へとアップグレードできないPCは、Linuxへの移行も現実的な選択肢ではないでしょうか。
それではまた次の記事で。
goosyun
![Linuxをマスターしたい人のための実践Ubuntu[第2版] Linuxをマスターしたい人のための実践Ubuntu[第2版]](https://m.media-amazon.com/images/I/51dv7GpurUL._SL500_.jpg)