全力で怠けたい

怠けるために全力を尽くしたいブログ。

sort コマンドが human readable な数値をソートできて便利。

sort コマンドで human readable な数値をソートする sort コマンドが human readable な数値をソートできて便利なのでメモしておく。 Ubuntu のバージョン。 $ cat /etc/os-release | grep VERSION_ID VERSION_ID="20.04" sort コマンドで human readable …

jq コマンドの Alternative operator: `//` が欠落値を代替できて便利。

使い方 jq コマンドの Alternative operator: // が欠落値を代替できて便利なのでメモしておく。 jq のバージョン。 $ jq --version jq-1.6 使い方 学生の名簿がこんな感じの JSON になってるとき、age フィールドがあったら age フィールドを出力して age …

Ubuntu で gawk を使う方法。

はじめに Ubuntu はデフォでは gawk は入っていなくて mawk が入ってる gawk をインストールする gawk と mawk (とその他の awk) を使い分ける 参考サイト Ubuntu で gawk を使う方法をメモしておく。 はじめに Ubuntu で awk を使ってたらなんか期待してい…

MySQL で SQL を記述した外部ファイルから実行する方法。

SQL を記述した外部ファイルから実行する方法 SQL を記述したファイルを mysql コマンドの標準入力にリダイレクトする SQL を記述したファイルをパイプで mysql コマンドの標準入力に接続する source コマンドでSQL を記述したファイルを読み込む 参考サイト…

Arch Linux で日本語の man pages を見られるようにする方法。

はじめに 日本語の man pages を見れるようにする方法 参考サイト はじめに 自分は普段は man pages は英語のものを読むことが多いけど英語だとどうしても読む速度が遅くなるので、たまにザッと目を通したいときは日本語の man page を見たりする。 Arch Lin…

bash と sh の test コマンドの条件式で使える演算子のチートシート。

はじめに test コマンドの条件式で使える演算子のチートシート 文字列を条件判断する演算子 数値を条件判断する演算子 ファイルを条件判断する演算子 論理演算子 はじめに ちょっとしたことはシェルで済ませるけど、条件分岐をするのに使う test コマンドで…

Pixela の唯一の非公式 CLI ツール pa が v1.6.0 にバージョンアップしました。

Pixela の CLI ツール pa が v1.6.0 にバージョンアップしました。 v1.6.0 アップデート内容 Pixela API の HTTP レスポンスステータスコードを表示するようになっています。 Pixela API を呼び出したのがエラーになるときに HTTP レスポンスステータスコー…

MySQL のテーブルの概算の行数を INFORMATION_SCHEMA.TABLES から素早く取得する方法。

はじめに INFORMATION_SCHEMA.TABLES から行数を取得する方法 INFORMATION_SCHEMA.TABLES から行数を取得するときに気をつけること INFORMATION_SCHEMA.TABLES から行数を取得する例 参考サイト はじめに MySQL のテーブルの概算の行数は INFORMATION_SCHEMA…

Arch Linux でジョブをスケジュール実行するには systemd のタイマーが使える。

はじめに systemd のタイマーの使い方 タイマーの一覧を表示する 参考サイト はじめに Arch Linux でジョブをスケジュール実行するには systemd のタイマーが使える。systemd のタイマーを使ってジョブをスケジュール実行する方法をメモしておく。 自分はジ…

シェルでセマンティックバージョンをソートする Go のコードスニペットのメモ。

たまにシェルでセマンティックバージョンをソートすることがあるので Go でのコードスニペットをメモしておく。 コードはこんな感じ。エラー処理は適当。 package main import ( "bufio" "fmt" "os" "sort" "github.com/Masterminds/semver" ) func main() {…

シェル力が圧倒的に足りてないのでシェル力を養うために第13回シェル芸勉強会の問題に挑戦してみた。

はじめに 第13回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question Answer Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Answer Answer Q7 Question Answer Q8 Answer 参考サイト シェル力が圧倒的に足りてないのでシェ…

Arch Linux のパッケージのダウングレードは downgrade コマンドを使うとすごく楽。

はじめに downgrade のインストール方法 downgrade の使い方 参考サイト はじめに Arch Linux のパッケージは pacman で管理するけどダウングレードは downgrade コマンドを使うとすごく楽なのでメモしておく。 downgrade コマンドを使わなくても自分で古い…

巨大なファイルを S3 にアップロードするのが `Part number must be an integer between 1 and 10000, inclusive` のエラーになるときにやったことのメモ。

なにをしたらどんなことがおきるか どうしたか 参考サイト 巨大なファイルを S3 にアップロードするのが Part number must be an integer between 1 and 10000, inclusive のエラーになるときにやったことをメモしておく。 なにをしたらどんなことがおきるか…

GitHub に登録している公開鍵は https://github.com/<username>.keys から取得できる。

GitHub に登録している公開鍵は https://github.com/<username>.keys から取得できる。 たとえばブラウザーで https://github.com/torvalds.keys を表示すると Linus Torvalds 氏の公開鍵が取得できる。 これだけ。 自分は AWS の EC2 のインスタンスを立てたら curl </username>…

cat コマンドはファイルと標準入力を連結したり連結する順番を指定できる。

cat コマンドは複数のファイルだけじゃなくて標準入力も連結できるのをメモしておく。 cat コマンドはファイルの内容を標準出力に表示するのに使うことが多い気がするけど、たいがいは単一のファイルの内容を標準出力に出力してる気がする。 実は cat コマン…

awk のシステム変数のチートシートと使い方のメモ。

はじめに awk のシステム変数 デフォルト値を変更できる変数 チートシート FS OFS RS ORS 処理で利用できる変数 チートシート NF NR FNR FILENAME 参考 はじめに awk のシステム変数はよく使うものとたまに使うものがあるけど、たまに使うものは結構忘れてし…

git diff で特定のパスの差分は表示しないやり方のメモ。

Git

git diff で特定のパスの差分は表示しないやり方のメモ。 git diff コマンドは任意のコミット間での差分を表示するコマンドでこんな感じに使える。以下の例は差分が多くなるので --stat オプションを指定して差分があるファイルの名前だけ表示している。 $ g…

JMESPath を CLI で試せる jp コマンドが便利。

JMESPath と jp コマンドってなに? jp コマンドのインストール jp コマンドの使い方 基本的な使い方 出力をダブルクォートで囲まない JSON をファイルから読み込む JMESPath の式をファイルから読み込む JMESPath のチュートリアルをやってみる Basic Expre…

プログラムのちょっとした動作を確認するときはシェルが役に立つメモ。

Go を勉強している人が「Go の bufio パッケージのScanner.Err() に non nil の error を返させたい」と言ってたのでシェルを使ったら簡単にやれますよ、と話をしたときのメモ。 相手の人が書いてた Go のプログラムはこんな感じ。 // main.go package main …

Docker のイメージはマルチステージビルドしてイメージサイズを小さくするメモ。

はじめに マルチステージビルドのやり方 シングルステージビルドとマルチステージビルドでの Docker イメージのサイズを比較 参考サイト はじめに Docker のイメージはマルチステージでビルドしてイメージサイズを小さくするメモ。 ソースコードを Docker の…

いまさら Go の context を少しだけ整理してみたメモ。

はじめに context とは context ができること context の使い方 context をキャンセルする 指定した時間が経過したら context をキャンセルする 指定した日時になったら context をキャンセルする context がキャンセルしたのをチェックする context がキャ…

goreleaser コマンドをちょろっと使ってみたらすごく便利だったメモ [GoReleaser]

はじめに GoReleaser はなにができるか インストール方法 goreleaser コマンドを使ってみる .goreleaser.yml の雛形を作る とりあえず GoReleaser を動かしてみる バージョンの埋め込み アーティファクトを GitHub にアップロードする すぐに使える .gorelea…

Mac で tmux のプリフィックスを ctrl-b から caps lock に変えたら tmux 生活がすごく捗るようになったメモ。

はじめに tmux のプリフィックスを ctrl-b から caps lock に変更する 参考サイト はじめに Mac で tmux のプリフィックスを ctrl-b から caps lock に変えたら tmux がすごく捗るようになったメモ。 自分は JIS 配列の Magic Keyboard を Mac に接続して使…

プロセスが使う CPU を取得したり指定する taskset コマンドの使い方のメモ。

taskset コマンドの使い方 既存のプロセスが使える CPU を取得する プロセスが使える CPU を指定してプロセスを起動する 既存のプロセスが使える CPU を指定する CPU はビットマスクで指定したり表示もできる 参考サイト プロセスが使う CPU を取得したり指…

入力行をいろんなやり方で連結したり分割する 🍡dango コマンドを作りました。

dango コマンドとは? 使い方 行数を数えて入力行を連結したり分割する 文字数を数えて入力行を連結したり分割する バイト数を数えて入力行を連結したり分割する 単語数を数えて入力行を連結したり分割する インストール方法 Homebrew Developer 手動でのイ…

iTerm2 のすべてのウィンドウを表示したり非表示にするホットキーのメモ。

iTerm2 のすべてのウィンドウを表示したり非表示にするホットキー iTerm2 のすべてのウィンドウを表示したり非表示にするホットキーが便利なのでメモ。 このメモは Build 3.4.6 で動作を確認しているけどたぶんずっと前から使えた気がする。 iTerm2 のすべて…

パイプを通るデータの進捗をモニタリングする pv コマンドでよくやる使い方とオプションのメモ。

pv コマンドでよくやる使い方とオプション インストール 使い方 基本的な使い方 pv コマンドの表示の見方 pv コマンドでパイプのなかの2箇所以上をモニタリングする pv コマンドのよく使うオプション -h, --help オプション: ヘルプ -c, --cursor オプション…

shebang はシェル以外の実行可能ファイルも指定できるメモ。

shebang はシェル以外の実行可能ファイルも指定できる sed スクリプトファイルの shebang awk スクリプトファイルの shebang shebang に書くパス 参考サイト shebang はシェル以外の実行可能ファイルを指定できるのを知ったので書いておく。 shebang はシェ…

Docker を Ubuntu にインストールする手順のメモ。

Docker を Ubuntu にインストールする手順 Docker リポジトリを設定する Docker をインストールする 参考サイト Docker を Ubuntu にインストールする手順のメモ。 Docker は mac OS 上の VirtualBox で動かしてる Ubuntu にインストールしたのでそのへんの…

シェル力が圧倒的に足りてないのでシェル力を養うために第12回シェル芸勉強会の問題に挑戦してみた。

はじめに 第12回シェル芸勉強会の問題に挑戦してみた Q1 Question Answer Q2 Question 小問1 小問2 Answer 小問1 小問2 Q3 Question Answer Q4 Question Answer Q5 Question Answer Q6 Question Answer Q7 Question Answer Q8 Question Answer 参考サイト シ…