【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集


※ 当ページには【広告/PR】を含む場合があります。
2021/12/11
2024/01/05

ソフトウェア産業の分野では、常に新しい情報を得るために多方面にアンテナを張って、貪欲に知識をビジネスに取り入れるという姿勢が必要になります。

良きエンジニアへの道は、技術開発活動の中で活用しているナレッジを日々様々なリソースから得て、継続的に勉強を重ねでできています。

この記事では、ブログの個人的に気になった&試してみたいBashを主としたシェルスクリプトの良質で旬な学習素材をまとめていく内容になっています。

気になる学習教材があれば、リンク先のサイトで是非ともチェックしてみてください。


シェルスクリプトをしっかり学べる厳選書籍

シェルスクリプトを学ぶ上で、コレは読んでおきたいと思う書籍を、著者の独断でピックアップしていきます。

新しいシェルプログラミングの教科書

新しいシェルプログラミングの教科書
』はシステム管理やソフトウェア開発などの業務で使えるように配慮された内容で、シェルスクリプトの基礎知識から徹底解説されている本です。

内容としてはBashに特化することで、より実践的なプログラミングを紹介を凡例を元に学習できます。

なお発行部数の関係か、印刷出版された本は中古でしか扱われていないので、執筆中は電子書籍での購入が推奨です。

シェルスクリプトの基本が満遍なく、じっくりと解説されているので、シェルコマンド入門書としてはとても良い一冊です。

一方でこのブログで集中的に取り扱うところの、Sedコマンドは10章の正規表現のパートでちょこっと紹介がある程度です。

Awkに至ってはほぼ紹介さえ無いようですので、シェルコマンドをある程度自分のものにされているエンジニアは敢えて購入する必要もないでしょう。

新しいLinuxの教科書

新しいLinuxの教科書
』は先程の「新しいLinuxの教科書」の著者が2年ほど先行して出版されていた本です。

先程の書籍がBash特化の内容であったのに対し、こちらはより汎用のShellに対応した内容になっています。

Bashでなく、より純粋なシェルを基礎から学ぶには最適の「教科書」です。

本書のターゲットはシェルコマンドの初学者を対象にしています。

広く・浅く・満遍なくシェルに関するノウハウが書かれているため、SedとAwkなどのコマンドにはその導入部分しか触れられていない感じです。

社内教育等で、これからLinuxに触れてみたいけれど、シェルコマンドなんて全く分からない新人エンジニアの方に読ませるのであれば、この本は大いに役に立つでしょう。

シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる

こちらはロングセラーの『
改訂第3版シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる
』の改訂第3版です。

この本はタイトルの通りで、Linux標準の純粋なShellで出来ることを深く掘り下げる内容になっています。

第3版ではLinux/FreeBSD/Solarisに加え、組み込み分野等で注目度の高いBusyBoxの内容もカバーされています。

付録として収録されているシェルスクリプトのサンプルは異種OS間の移植性を意識して、どのOS上でも動作するような内容に改訂されているようです。

目次の大まかなおしながきは以下の通りです。

            
            第0章 シェル&シェルスクリプトの基礎知識
第1章 シェルスクリプト入門
第2章 シェルスクリプトの基本事項
第3章 シェル文法の循環構造
第4章 複合コマンド
第5章 組み込みコマンド(1)
第6章 組み込みコマンド(2)
第7章 パラメータ
第8章 パラメータ展開
第9章 クォートとコマンド置換
第10章 各種展開
第11章 リダイレクト
第12章 よく使う外部コマンド
第13章 配列
第14章 シェルスクリプトのノウハウ&定石
Appendix サンプルスクリプト
        

記載されている項目のシェルコマンドの基礎的な使いこなしは、上級者でも長く使っていないとどうしてもド忘れしてしてしまうことも良くあります。

手元において逆引きのハンドブックとして机の上においておくといざという時サッと確認できて便利です。

「シェル芸」に効く!AWK処方箋

「シェル芸」に効く!AWK処方箋
』はAwkコマンドに特化したテクニック本です。

gawkをベースに、AWKの基礎からちょっとした実用的なスクリプトなどを楽しく紹介されている一冊です。

内容としては少し薄いですが、Tip集としてAWKの書き方を忘れてしまった際に、後で見返すような用途でも十分活用できる本になっています。

基本は電子書籍形式での販売になっていますが、どうしても紙媒体の書籍が要りようの場合には割高にはなるもののオンデマンド(ペーパーバック)版で購入可能です。

個人的にはスマホなどでKindleアプリからサッと見れるような使い方で眺めると良いと思います。

AWK実践入門

AWK実践入門
』は別のAwk特化本です。

よりAwkの基礎から応用までが徹底的に書かれている「Awk専門のガイドブック」といった感じの本です。

内容も2015年時点とAwk本にしてはまだ書かれている内容が新しいため、gawk4に対応しています。

この本の読者のターゲットとしては、Awkをはじめて使う駆け出しのシェルコマンドプログラマーからAwk上級者まで、幅広く使える一冊になっています。

近年ではデータサイエンスの分野でAwkに再び脚光を浴びつつあるので、情報系の大学生にもこの本を手にとってAwkを勉強していただくと良いと思います。

如何せんAwkに関する書籍はとても少ないのが現状ですので、この本はAwkの教科書的に使えるかも知れません。

sed & awkプログラミング改訂版(日本語) 大型本

Sedの特化本となると、極端に少なく、しかも邦書になると皆無と言って良い状況です。

sed & awkプログラミング改訂版(日本語) 大型本
』は、SedとAwkを2つのコマンドを扱って高度にドキュメントを編集することをとことん突き詰めて考えられた書籍になります。

ただし、内容が20年以上も前の内容になっているので、現状のGNU sedなどでも動くとは思うのですが、良く注意して内容を見る必要はあるでしょう。

1日1問、半年以内に習得 シェル・ワンライナー160本ノック

1日1問、半年以内に習得 シェル・ワンライナー160本ノック
』は「シェル芸」、いわゆるワンライナー(一行)で書かれたスクリプトが読めるようになりたい・書けるようになりたい人向けに、例題を通してシェル芸人力を磨ける本になっています。

シェル芸は非常に頭をひねるようなテクニックを多数組み合わせて構成されているので、細かい理屈を知らなければ一体どうしたらそう動くのか理解は難しいものです。

そういったこれまで有りそうで無かったシェル芸の基礎的なテクニックをまとめたオリジナリティあふれる一冊に仕上がっています。

シェル芸に興味がある方は是非とも手にとってみてはいかがでししょうか。

難読化シェル芸の世界 ~Bashとすてきな難読化~

難読化シェル芸の世界 ~Bashとすてきな難読化~
』もシェル芸系の解説本です。

この本では基本的なシェル芸に加え、Bashを使ってよりマニアックかつ難読化されたスクリプトを「難読化シェル芸」として、そのテクニックを解説していく趣旨の本になっています。

ここまで来ると、実用性という枠を超えて、一つのコンピュータ競技に近いものを感じます。

自分のシェル芸人としての腕試しに一度読んでみると楽しいかも知れません。

とにかく役に立つかは二の次ですが、Bashプログラミングの深さを再発見できる一冊です。


シェルスクリプトをしっかり学べる学習サービスピックアップ

今の時代、シェルスクリプトを本から学ぶだけが学習の手段ではありません。

書籍で学ぶ勉強法には、シェルスクリプト入門レベルから上級者向けまでとレベルが様々あります。

初学者からするとどう難しいのか判断は付きませんし、一人で勉強すると理解するまで時間のかかるし...、モチベーションは下がりまくるし...、挙げ句強烈に眠くなるし...。

気づけばスッとクリアできるポイントでも、なかなか気づかないままでスムーズに学習が進まないことにもなりかねません。

ここでは
より時速可能にシェルスクリプトを学ぶためのいくつかのオンライン型学習手法をご紹介していきましょう。

Udemyのオンライン教材を使う

『Udemyのオンライン教材』を使えば、おおよそ自分のレベルや目的に見合ったシェルスクリプト関連のオンライン講座を見つけながらステップアップで学習することもできます。

Udemyではシェルスクリプトの基礎が学べるビデオ講座もラインナップされています。

ここでは幾つかピックアップして紹介してみます。

例えば、『
【5日でできる】はじめての Linux 入門(LPIC Level1対応)
』は、これからLinuxプログラミングをこれから学ぼうとしている人向けに設定された講座であるため、社内の新人教育向けに人気のようです。

この講座はLPIC Level 1(Linuxのエンジニア認定資格)やLinuC Level 1の対策を意識した内容にもなっています。

もっとストレートにシェルプログラミングをこれから学ぼうとしている人には、『
もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう
』の講座などでじっくりと基礎を学ぶという選択肢もありです。

さらにより演習形式な講座をご所望とあらば、『
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
』のような講座でシェルスクリプトの組立方法を試しながら学ぶことも可能です。


Linuxシェルコマンド関連記事ダイジェスト

現在のこのサイトで鋭意執筆中のLinuxシェルコマンド記事ラインナップです。

関連記事も気が向いたときや、業務でポッと必要になったときの防備録のお供にと...、現在では内容が未整理の状態が続いているので、少々見にくいので、今後もうちょっと改善していこうかと思っていますがはてさて。

何かシェルスクリプト関連で気になるテーマがあれば、お問い合わせフォームよりご意見・リクエストください。

人気記事!
合同会社タコスキングダム|蛸壺の技術ブログ

【xlsx2csvコマンド活用編】Linux環境でExcelファイル(xls/xlsx)をCSVデータに変換する

2021/04/02
ID#:122
シェルスクリプト xlsx2csv Excel業務支援

【xlsx2csvコマンド活用編】Linux環境でExcelファイル(xls/xlsx)をCSVデータに変換する

今回はExcelでCsv形式のデータをエクスポートしたいけど、WindowsOSのパソコンは無し、Linuxしか使いたくない方のためのxlsx2csvコマンドの紹介記事です。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

rsyncコマンドで『some files/attrs were not transferred』でたまにファイルがコピーされないエラーに対処する

2024/08/15
ID#:246
シェルコマンド rsync

rsyncコマンドで『some files/attrs were not transferred』でたまにファイルがコピーされないエラーに対処する

『rsync』コマンドを使っている際に、『some files/attrs were not transferred』という内部エラーで一部のファイルがコピー操作に失敗してしまう問題を対処する方法を取り上げます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルコマンド】iTerm2/Kitty/Sixel graphic protocolを使ってWezTermからSSH経由での画像表示を試す

2024/06/12
ID#:240
シェルコマンド WezTerm

【シェルコマンド】iTerm2/Kitty/Sixel graphic protocolを使ってWezTermからSSH経由での画像表示を試す

Linuxからでも利用できる高機能ターミナル・「WezTerm」に対応するiTerm2/Kitty/Sixelの各グラフィックプロトコルを使いどころを模索します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルコマンド】WezTermの画面操作

2024/06/09
ID#:239
シェルコマンド WezTerm

【シェルコマンド】WezTermの画面操作

高機能ターミナルソフト・『WezTerm』を使ったターミナル画面の分割操作のショートカットキーを簡単に紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

visidataで即席散布図プロットを使ってデータを確認する

2024/06/17
ID#:238
シェルコマンド 業務支援 CSV

visidataで即席散布図プロットを使ってデータを確認する

シェルターミナルから使えるCSVデータエディタ『visidata』を使って、簡単な2次元散布図プロットを作成するためのテクニックを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Python製の高機能データエディタ・『visidata』を使ってCSVファイルを操作する

2024/03/28
ID#:233
シェルコマンド 業務支援 CSV

Python製の高機能データエディタ・『visidata』を使ってCSVファイルを操作する

シェルターミナルからでも高度なCSVデータを編集・表示することのできるPython製コマンドアプリ・『visidata』を活用するための基礎テクニックを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプトツール作成の基本】文字列をシェルコマンドとして実行するアレコレ

2024/01/05
ID#:230
シェルスクリプト eval関数

【シェルスクリプトツール作成の基本】文字列をシェルコマンドとして実行するアレコレ

文字列をシェルコマンドとして認識させるためのテクニックをいくつか比較し、非常に長かったり、大量に指定しなければならないコマンド引数指定を自動化するコツを解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルコマンド基礎講座】rsyncコマンドの使い方を細かく検証しながらinclude/excludeのコツを覚える

2023/09/19
ID#:224
シェルコマンド rsync

【シェルコマンド基礎講座】rsyncコマンドの使い方を細かく検証しながらinclude/excludeのコツを覚える

『rsync』コマンドを使う上で欠かせないinclude/excludeのフィルタパターンを理解するために、利用例からじっくり考えていきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルコマンド】weztermとlibsixelを使ってDebian&MacOSのターミナルで画像をそのまま表示してみる

2024/06/06
ID#:211
シェルコマンド Linux

【シェルコマンド】weztermとlibsixelを使ってDebian&MacOSのターミナルで画像をそのまま表示してみる

モダンなターミナルで直接画像を表示してくれる「img2sixel」コマンドをDebian LinuxとMacOSを導入する手順をまとめます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Jq&AwkコマンドでJSONファイル⇔CSVファイルに相互変換する方法を考察

2023/06/28
ID#:210
シェルスクリプト jq awk JSON-CSV変換

Jq&AwkコマンドでJSONファイル⇔CSVファイルに相互変換する方法を考察

jqコマンドとawkコマンドの2つをかけ合わせることで、JSONとCSVの柔軟な相互変換をどのように実現するか考察してみました。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Linuxでシェルコマンドからエクセルファイル(XSLX)を新規作成する方法〜「libreoffice」と「ssconvert」

2023/06/30
ID#:206
シェルスクリプト Excel業務支援

Linuxでシェルコマンドからエクセルファイル(XSLX)を新規作成する方法〜「libreoffice」と「ssconvert」

LinuxユーザーのためのExcelファイル(XLSX形式)をより快適扱うためのワンポイント講座です。今回はCSVファイルから直接XLSXファイルに変換が可能な「libreoffice」と「ssconvert」コマンドを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【yqコマンド活用】yqコマンドでYAMLファイルを自由自在に操作する

2023/06/08
ID#:203
yq jq シェルスクリプト

【yqコマンド活用】yqコマンドでYAMLファイルを自由自在に操作する

Linux/macos/windowsにも対応したシェルコマンドベースのYAMLファイルの操作に重宝する「yq」コマンドの導入方法と簡単な使い方を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Awkでデータ解析のすゝめ】CSVで重複なしのユニークなリストを作る/検索結果から重複を取り除く

2022/09/30
ID#:179
シェルスクリプト Awk CSV

【Awkでデータ解析のすゝめ】CSVで重複なしのユニークなリストを作る/検索結果から重複を取り除く

CSVデータから重複を削除してユニークな要素だけの行要素にすることと、検索結果に重複がある場合にその重複を取り除くテクニックの2つを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【jqコマンド活用法】JSONオブジェクトを再構成〜フィールドの一部を書き換えてみる

2022/10/01
ID#:178
jqコマンド 高度な操作 シェルスクリプト

【jqコマンド活用法】JSONオブジェクトを再構成〜フィールドの一部を書き換えてみる

jqコマンドの更新オペレーターとシンボリックバインドオペレーターを使って、JSONオブジェクトを柔軟に編集するテクニックを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプトツール作成の基本】自作のシェルスクリプトでパイプを使えるようにする

2022/08/09
ID#:175
シェルスクリプト パイプ処理

【シェルスクリプトツール作成の基本】自作のシェルスクリプトでパイプを使えるようにする

前段で実行したコマンドの標準出力から、自作したシェルスクリプトでもパイプでつないで処理をするための方法を考察します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【CRONコマンド活用講座】AWS-CLIをCRONからシェルスクリプトとして利用するときの注意点

2022/04/30
ID#:165
CRON シェルスクリプト 定期実行

【CRONコマンド活用講座】AWS-CLIをCRONからシェルスクリプトとして利用するときの注意点

cronで定期実行されるスケジューラーを仕込む際の外部コマンドを呼び出す際に注意しておきたいポイントを、aws-cliを例にしながらいくつか取り上げてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト】nkfコマンドを使ってファイルの文字エンコーディングを判別し、iconvコマンドと連携させるやり方

2022/06/01
ID#:164
シェルスクリプト Linux

【シェルスクリプト】nkfコマンドを使ってファイルの文字エンコーディングを判別し、iconvコマンドと連携させるやり方

様々なOS間でファイルをやり取りする際に色々と困ることの一つに「文字エンコーディング」が挙げられます。今回はnkfコマンドをエンコーディングの判定に使って、iconvコマンドの入力に指定してみるテクニックを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト実践講座】ANSIエスケープシークエンスを使おう①〜基本的な使い方

2021/09/25
ID#:153
シェルプログラミング ANSIエスケープシークエンス

【シェルスクリプト実践講座】ANSIエスケープシークエンスを使おう①〜基本的な使い方

いい感じのシェルアプリを作成する上で欠かせないのが、「ANSIエスケープシークエンス」と呼ばれるテクニックです。今回はその基本操作について整理していきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Awk&Sed活用講座】CSVファイルから重複データを見つける&重複をカウントする

2022/09/30
ID#:149
Awk Sed シェルスクリプト CSV

【Awk&Sed活用講座】CSVファイルから重複データを見つける&重複をカウントする

シェルスクリプトからのCSVデータを利用するためのワンポイント講座です。今回はAwkとSedでCSVファイルからデータの重複を取り扱うテクニックを簡単に載せます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

2024/01/05
ID#:132
シェルスクリプト 学習教材

【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

個人的に気になった&試してみたいAwk/Sedコマンドなどを含むシェルスクリプトプログラミングを学ぶ上で有用な学習用の教材をまとめていきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Sed活用講座】パターンスペースとホールドスペースの使い方を理解する

2022/09/30
ID#:131
シェルスクリプト Sed

【Sed活用講座】パターンスペースとホールドスペースの使い方を理解する

Sedコマンドの真髄は「パターンスペース」と「ホールドスペース」を理解してこれを駆使することです。今回はこのパターンスペースとホールドスペースの概念と基礎的な使い道を解説していきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

シェルスクリプトを使って学ぶビット演算(&、|、^、~等)の総復習

2022/01/21
ID#:127
シェルスクリプト ビット演算

シェルスクリプトを使って学ぶビット演算(&、|、^、~等)の総復習

組込開発者には避けて通れない技術にビット演算があります。たまにしかプログラミングでビット演算を使わないと、すっかり利用方法を忘れてしまうので、今回はBashによるシェルスクリプトによるビット演算を手軽な復習方法を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【jqコマンド実用編】押さえておきたいデータ入出力のためのjqのコマンドオプションまとめ

2022/09/30
ID#:126
シェルスクリプト jqコマンド コマンドオプション

【jqコマンド実用編】押さえておきたいデータ入出力のためのjqのコマンドオプションまとめ

jqコマンドにおいて入出力値の制御で重要な役割をしているオプションの内で重要なものをピックアップし、簡単な使い方をまとめました。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【jqコマンド応用編】xargsをwhile/forループの代わりとして使う場合の勘所

2022/09/30
ID#:125
シェルスクリプト jqコマンド リファクタリング

【jqコマンド応用編】xargsをwhile/forループの代わりとして使う場合の勘所

jqコマンドとxargsコマンドとの組み合わせた処理のパイプ化で、シェルスクリプトのリファクタリングを考えてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Alpine Linux対応】Exiftoolコマンドから画像サイズを調べる

2021/09/02
ID#:123
シェルスクリプト Alpine Linux Exifメタデータ

【Alpine Linux対応】Exiftoolコマンドから画像サイズを調べる

今回はLinuxコマンドから画像ファイルの設定値をコマンドラインから読み取るためにExiftoolから読み出してみる方法を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Excelでの時間の計算をシェルスクリプトでどう取り扱うのか〜DATEの計算方法

2021/04/13
ID#:120
シェルスクリプト Date Excel業務支援

Excelでの時間の計算をシェルスクリプトでどう取り扱うのか〜DATEの計算方法

エクセルでの日付時間とシェルスクリプトの扱うUNIX時間とは一見取り扱っているデータの表示が同じようで、日付の換算方法は異なります。ここではExcel時間表示フォーマットの話と、それをシェルスクリプトでどう補正するとCSVインポート・エクスポートが上手くいくのかを考察してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】CSVデータから日付範囲で細かい条件指定した集計を行う

2021/04/16
ID#:115
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】CSVデータから日付範囲で細かい条件指定した集計を行う

CSVデータの集計操作系のスクリプトツールを作成してみる特集の第1回目です。今回はCSVデータの集計操作の基礎的な内容も掘り下げつつ、後半で少し応用的なツールスクリプトに仕上げる方法をじっくり解説していきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

日付を含むエクセルデータをエクスポートしたときのCSVデータの時間表示をシェルスクリプトで取り扱う方法

2021/04/14
ID#:114
シェルスクリプト 日付データ Excel業務支援

日付を含むエクセルデータをエクスポートしたときのCSVデータの時間表示をシェルスクリプトで取り扱う方法

ExcelデータからCsv形式へインポート/エクスポートする際に気をつけておかなかればならない一つの日付を取り扱う換算ルールを特集します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】平均値の算出 〜 Awkを使った平均を計算するスクリプト

2021/04/19
ID#:113
シェルスクリプト 集計操作 Excel業務支援

【シェルスクリプト&Excel】平均値の算出 〜 Awkを使った平均を計算するスクリプト

CSVデータの自由でより高機能な集計操作を行うスクリプトツールを作成してみる特集の第3回目です。Awkでも科学計算ほどの精度は無いものの、それでもかなり高度な算術計算処理をスクリプト内で実現することができます。今回は簡単な好例として平均を計算させてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】複数条件を満たすときのみに集計するスクリプト

2021/04/18
ID#:112
シェルスクリプト Excel業務支援 集計

【シェルスクリプト&Excel】複数条件を満たすときのみに集計するスクリプト

CSVデータの自由でより高機能な集計操作を行うスクリプトツールを作成してみる特集の第3回目です。前回はCSVデータで特定の一列から条件を満たすものを正規表現で抽出・集計する方法を紹介しました。今回は検索が複数列に渡る条件を与えた集計スクリプトの作り方を考察します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】より複雑な条件を満たすのときのみに集計するスクリプト

2021/04/17
ID#:111
シェルスクリプト Excel業務支援 集計

【シェルスクリプト&Excel】より複雑な条件を満たすのときのみに集計するスクリプト

CSVデータの自由でより高機能な集計操作を行うスクリプトツールを作成してみる特集の第2回目です。今回は正規表現を用いてより自由度の高い集計スクリプトの作り方を簡潔に考えてみましょう。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】集計を対話的にするスクリプト作成の基礎

2021/04/15
ID#:110
シェルスクリプト Excel業務支援 対話型入力

【シェルスクリプト&Excel】集計を対話的にするスクリプト作成の基礎

Excelでの定番の業務テクニックとして要素検索と並んで良く利用されているのが集計操作です。基礎固めとしてまずは集計モードを対話に選択できるようなツールスクリプトに仕立てる前段階のユーザーインタラクティブなシェルスクリプトの実装方法を考えてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】CSVデータの複数列から複数条件で検索して行データを表示させるスクリプト

2021/04/12
ID#:107
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】CSVデータの複数列から複数条件で検索して行データを表示させるスクリプト

CSVデータの検索に特化したエクセルでいうところのVLOOKUP関数のような機能をもつスクリプトツールを作成してみる特集の第3回目です。前の回に引き続いて、もっと自由に検索列を決められて、なおかつ複数の検索条件も与えられるように再度Awkをベースに拡張してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】CSV形式で与えてある検索条件ファイルから検索結果を出力するスクリプト

2021/04/11
ID#:106
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】CSV形式で与えてある検索条件ファイルから検索結果を出力するスクリプト

CSVデータからエクセル操作機能を代替するスクリプトツールを作成してみる特集の第2回目です。今回はAwkコマンドでCVSファイル内からキーワードリスト検索&抽出するスクリプトツールを作成してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】条件を与えて検索結果をCSVデータで出力するスクリプト

2022/08/07
ID#:105
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】条件を与えて検索結果をCSVデータで出力するスクリプト

CSVデータの検索に特化したエクセルでいうところのVLOOKUP関数のような機能をもつスクリプトツールを作成してみる特集の第1回目です。今回は読み込んだCSVデータの特定の1列を検索キーとして、指定した検索キーリストからヒットした要素を順にピックアップしてCSV形式で表示するスクリプトを作成してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】Head/Tail/Cut/Trコマンドを使ってCSVデータから効率で高速に行&列の範囲を絞り出す方法

2021/04/09
ID#:103
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】Head/Tail/Cut/Trコマンドを使ってCSVデータから効率で高速に行&列の範囲を絞り出す方法

容量の大きなCSVデータ等を、高速かつ効率的にパイプライン処理するために、Head、Tail、Cutとその他のLinuxコマンドを使ったテクニックを紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト・文字列操作のショートハンド集】Bashの文字列のパラメーター拡張のアレコレ

2021/03/29
ID#:101
シェルスクリプト Bash パラメーター拡張

【シェルスクリプト・文字列操作のショートハンド集】Bashの文字列のパラメーター拡張のアレコレ

Bashで扱う文字列操作には、パラメーター拡張(Parameter Expansion)という簡潔な操作で様々な機能を提供する仕組みが備わっています。Bashを使ってシェルスクリプトを操作する際に、このパラメーター拡張を知っておかないと損をしますので、この記事で使えそうなテクニックをいくつかピックアップしてみようかと思います。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Curlとjqを使ってgithubレポジトリ上のcsvデータを取得する 〜 株価日足編

2021/03/23
ID#:100
シェルスクリプト データ解析 CSV

Curlとjqを使ってgithubレポジトリ上のcsvデータを取得する 〜 株価日足編

curlでオンラインプロジェクトからGETしたcsvデータを、jqでjson形式に整理・変形して捌く方法を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】検索対象が無いときの対処方法〜エラー時の値を#N/Aに置き換える

2021/04/07
ID#:98
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】検索対象が無いときの対処方法〜エラー時の値を#N/Aに置き換える

検索結果が無い行を発見したときに、通常は何も表示されないで無視されることが多いですが、エラーハンドリングを定義し、エラーを発見したときの処置も実装したい場合があります。たとえば、検索結果で一致しない行には、新しい内容を新規作成してそこに挿入する...などです。今回はCSVデータ使う上でのAwkとjqを使ったシェルスクリプトのエラーの捌き方の基礎を行っていきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】SedコマンドでCsvデータから特定の文字列を含む行を抽出する

2021/04/06
ID#:97
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】SedコマンドでCsvデータから特定の文字列を含む行を抽出する

CSV形式のデータの中の、不特定で複数の行(もしくは複数のセル)に対象の文字列を含むような曖昧さのある場合には、Awkかjqで処理するには少し冗長な操作になるときがあります。今回は先にSedで特定の文字列を含む行をフィルタリングのやり方を、Awkかjqで利用する前の下処理の方法として紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】Sedコマンドで不要な空白(文字列前後の空白や連続した空白)を削除

2021/04/05
ID#:96
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】Sedコマンドで不要な空白(文字列前後の空白や連続した空白)を削除

セルに含まれる文字列には、インデントとして無駄に連続した空白が詰まっていたり、タブやスペースなどの複数のタイプの空白が混合して入っていたりする場合が有ります。今回はSedを使った余計な空白文字の除去・洗浄に関した内容を解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【xlsx2csvを使おう!】 Excelデータシートのセル内改行をCsvファイルで取り扱う方法

2021/04/03
ID#:95
シェルスクリプト Xlsx2csv Excel業務支援

【xlsx2csvを使おう!】 Excelデータシートのセル内改行をCsvファイルで取り扱う方法

csvをシェルスクリプトで取り扱う上でもっとも厄介なものが改行文字です。今回は、Excelデータ中に現れるセル内改行を、xlsx2csvコマンドからCsv形式のテキストファイルで扱う方法を解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】文字列中の特定の記号を一括削除する方法

2021/04/07
ID#:94
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】文字列中の特定の記号を一括削除する方法

Csvデータ全体に渡って、セル内に含まれる文字列に区別無く存在する不要な記号を一括して削除したい場合が有ります。このような特殊記号は当然ながら手動で検索しながら一つ一つ消していくのも面倒です。今回はCsvファイルの全体に渡るような文字列の置き換えをSedコマンドを利用して、一気に、そして高速に不要な文字を削除する方法を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】文字列の分割を分割を極める ~ split関数の使い方

2021/04/01
ID#:93
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】文字列の分割を分割を極める ~ split関数の使い方

CSV形式と似ているけどちょっと違う、コンマ以外の様々な区切り文字(セパレーター)をもったデータファイルから、柔軟・簡単に分割(split)する方法を解説していきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】文字列の後方参照を理解する

2021/03/31
ID#:92
シェルスクリプト Excel業務支援

【シェルスクリプト&Excel】文字列の後方参照を理解する

csvデータのセル文字列の後方参照をAwkとjqの2つのパターンでどう実現するのかを考えてみるちょっとした技術記事です。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】CSVデータ編集で使える最低限覚えておきたい正規表現の活用法

2021/03/26
ID#:91
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】CSVデータ編集で使える最低限覚えておきたい正規表現の活用法

AwkやSedといったテキストを編集する代表的なコマンドをより高度に操作するためには、正規表現(Regular Expression)の理解が欠かせなくなります。マニアックな正規表現のテクニックなどは避けながら、一般的なAwk(GNU Awk)とjqでcsvファイルを操作する際に最低限覚えておきたい正規表現をまとめてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】SedとAwkによるCsvファイルの行・列の操作アレコレ

2021/03/30
ID#:90
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】SedとAwkによるCsvファイルの行・列の操作アレコレ

CsvファイルをSedやAwkなどのLinuxコマンドからCsvデータの行と列の操作するための基礎的なテクニックをまとめてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】シェルスクリプトで複数の条件による検索し結果をCSVで返す

2021/03/24
ID#:89
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】シェルスクリプトで複数の条件による検索し結果をCSVで返す

シェルスクリプトで、Awkかjqコマンドを使ってCSVフォーマットのファイルを色々と処理してみたい方に向けたお役立ちテクニック特集です。この回ではターゲットとなる列の要素に複数の条件を検索して、その検索結果をcsv形式で返すようなシェルスクリプトを作成してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプト&Excel】CSVファイルで読み出した文字列を複雑なルールで置換したい

2021/03/19
ID#:88
シェルスクリプト Excel業務支援 CSV

【シェルスクリプト&Excel】CSVファイルで読み出した文字列を複雑なルールで置換したい

シェルスクリプトで、Awkかjqコマンドを使ってCSVフォーマットのファイルを色々と処理してみたい方に向けたお役立ちテクニック特集です。今回はシェルスクリプトでCSV形式の中の文字列置換を行う方法に関して考えてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプトをオフィス業務の主役に!】シェルスクリプトでエクセル作業を効率化する超活用術まとめ

2024/01/06
ID#:87
シェルスクリプト Excel業務支援

【シェルスクリプトをオフィス業務の主役に!】シェルスクリプトでエクセル作業を効率化する超活用術まとめ

シェルスクリプトはどこでもどんなOSでも基本的に使えて、一度使い方を覚えるとパソコン上でありとあらゆる操作を可能としてくれます。そこでオフィスで日々エクセル業務と向き合う多忙なオフィスワーカー向けに、シェルスクリプトの力で劇的に生産効率を改善しする方法を提案します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Awkでデータ解析のすゝめ】CSVデータで重複しているセル要素を見つける/カウントする

2022/09/30
ID#:82
シェルスクリプト Awk CSV

【Awkでデータ解析のすゝめ】CSVデータで重複しているセル要素を見つける/カウントする

csvファイル内のデータが重複しているときの操作をAwkで処理させたいときがあります。Awkでデータの重複している・していないの判別は簡単なスクリプトを使って執り行えるので、一度覚えておけばもしかしたときのデータ取扱に非常に頼もしい限りです。今回はAwkでの重複をどう見つける/処理するのかをじっくり考察していきます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Awkでデータ解析のすゝめ】Awkのみで2つのファイルを効率的に結合させる方法

2022/09/30
ID#:80
シェルスクリプト Awk データ解析

【Awkでデータ解析のすゝめ】Awkのみで2つのファイルを効率的に結合させる方法

Awkを使ったデータサイエンス向けに不定期で紹介しているワンポイント講座シリーズの二回目です。時系列解析するデータによってはキーになる値は共通しているのに、ラベルがバラバラのファイルとして四散して存在している場合があります。今回はこのような作業をAwkのみを使って効率的に複数のデータやファイルを結合させるためのテクニックを考察してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Awkでデータ解析のすゝめ】gawk(GNU AWK)でカスタムソートを使ってみる

2023/06/26
ID#:79
シェルスクリプト awk データ解析

【Awkでデータ解析のすゝめ】gawk(GNU AWK)でカスタムソートを使ってみる

シェルスクリプトを使ったデータ解析を行う時に、知っていると便利に使えるgawk(Gnu AWK)の高速カスタムソート術を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプトで機械学習】Awkで機械学習で使える高速データ処理〜ガウス分布ノイズの生成方法

2022/09/30
ID#:68
シェルスクリプト Awk データ処理

【シェルスクリプトで機械学習】Awkで機械学習で使える高速データ処理〜ガウス分布ノイズの生成方法

ガウス分布ノイズのデータセット生成方法を例に挙げ、Awkを使った機械学習用の訓練データの下処理テクニックを解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

WindowsでもLinuxシェルスクリプトをいつでも簡単に使いたい!と思い立ったときの魔法のツール・busybox

2020/12/04
ID#:67
シェルスクリプト windows

WindowsでもLinuxシェルスクリプトをいつでも簡単に使いたい!と思い立ったときの魔法のツール・busybox

busyboxを使ってawkやsedなどのオフィス業務などで活躍するLinuxコマンドを、Windowsでも簡単に導入する方法を紹介します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Debian LinuxとAlpine DockerコンテナでもGh(Github CLI)コマンドを導入する

2022/01/27
ID#:46
シェルスクリプト GitHub Linux

Debian LinuxとAlpine DockerコンテナでもGh(Github CLI)コマンドを導入する

直近の話題でベータ公開されていたGitHub CLIがこのほどRC版になっていたようで、手元のDebian LinuxでもLinuxbrewから一発導入することができました。今回はghコマンドの簡単な動作確認を試してみたいと思います。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

[Shellコマンド] Cronによる営業日(土日・祝日以外)のみで定期コマンド実行をスケジュールしたい

2022/01/22
ID#:42
シェルスクリプト cron

[Shellコマンド] Cronによる営業日(土日・祝日以外)のみで定期コマンド実行をスケジュールしたい

cronで営業日の特定の時間など細かいスケジューリングを定義するのはとても大変ですが、grepコマンドと併用するハイブリッドな方法を使って、土日祝日以外の日でコマンドをスケジューリングするスマートな方法を深堀りしてみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Slack x 業務効率化】Slack APIを利用してCurlから画像をアップロードしてみた

2022/01/10
ID#:41
シェルスクリプト Slack WebAPI

【Slack x 業務効率化】Slack APIを利用してCurlから画像をアップロードしてみた

Slackの自分用チャンネルにデータ処理中の画像をポーンと自動送信してくれるシェルスクリプトを作成したかったので、ローカルから画像ファイルをアップロードするためのSlackのAPIを試してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【シェルスクリプトツール作成の基本】引数指定で動作するシェルスクリプトを自作する

2021/03/28
ID#:38
シェルスクリプト オフィス業務効率化

【シェルスクリプトツール作成の基本】引数指定で動作するシェルスクリプトを自作する

シェルスクリプトを予めファイルに記述しておくことで、高度なシェルスクリプトとして作成しておけば、まさに一生モノの財産となることでしょう。今回は自作スクリプトの基本形となるスクリプトのテンプレートに関して解説します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Awkコマンドを使ってテキストからjsonを生成する実用例〜株価日足で利用する

2022/09/30
ID#:22
シェルスクリプト Awk

Awkコマンドを使ってテキストからjsonを生成する実用例〜株価日足で利用する

Awkを使った実践例を紹介するコーナーです。今回は、株式チャートで利用される日足のテキスト生データをJSON形式へパースさせてみる手順を説明します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

Sedコマンドで改行も含めた正規表現パターンをキャプチャする方法の考察

2020/09/30
ID#:15
シェルスクリプト sed 正規表現

Sedコマンドで改行も含めた正規表現パターンをキャプチャする方法の考察

今回はsedコマンドで複数行にまたがるテキストの正規表現パターンをどう扱うかに注目し、実践例で置換操作するまでを解説してみます。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

【Linuxコマンド入門】Alpine Linux標準のdateコマンドを使う際のちょっとしたコツ

2021/12/29
ID#:13
Linux Alpine シェルスクリプト

【Linuxコマンド入門】Alpine Linux標準のdateコマンドを使う際のちょっとしたコツ

dateコマンドはLinux系のほぼ全てのOSに標準的に存在している重要なユーティリティコマンドです。そんなdateコマンドはLinuxOS毎にすこしづつ作法が違うようですが、ここではAlpine linux上でdateコマンドを上手く使いこなすためのポイントを説明します。

クリックするとリンク先へ飛びます
関連記事
合同会社タコスキングダム|蛸壺の技術ブログ

サイズの大きいhtmlファイルをminifyするときに便利なSedコマンドの使い道

2022/09/30
ID#:4
シェルスクリプト Sed

サイズの大きいhtmlファイルをminifyするときに便利なSedコマンドの使い道

静的なウェブページを配信する際にプリレンダリングしたhtmlファイルをより効果的にminifyしたいときに使えるSedコマンドのテクニックを紹介します。

クリックするとリンク先へ飛びます