shell芸

シェルスクリプトでターミナルの大きさを調べる方法

bashなどのシェルでターミナルのサイズを取得する方法をまとめます おすすめは tput コマンド tputコマンドを使うのが無難です tput cols でターミナルの横幅 tput lines でターミナルの高さ となります.単位はどちらも文字数です 別解1: $COLUMS と $LIN…

3月1日の一日前を計算する方法

いろんな言語・コマンドラインで,日付の足し算・引き算をする方法をまとめます.例として,3月1日の1日前を計算を考えます.この計算は,うるう年があるので面倒です.たとえば 2021年3月1日の前日は 2月28日 2020年3月1日は前日は 2月29日 となりますが…

gitでtagを変更する方法(ワンライナーで一括変更)

gitでtagの名前を変更する方法をまとめます 簡単な例 応用としてbashのワンライナーで複数タグを一括変更する例 の二つを紹介します 簡単な例 変更前のタグを old 変更後のタグを new リモートのリポジトリを origin とすると,oldをnewに変更するコマンドは…

TeX環境のインストール済みのパッケージ一覧を得る方法(JSON版)

詳細な情報が必要な場合は,"--json"をつけるとJSON形式で情報が出力できます.インストール日時だとか,パッケージに含まれるファイル名が必要な場合はJSON形式を使う方が良いでしょう. $ tlmgr info --only-installed --json JSON形式なので jq コマンド…

コマンドラインで文字コードを自動判別する方法

シェルスクリプトやコマンドラインで,テキストファイルの文字コードを自動判別する方法です nkf を使う head -n 1000 ファイル名 | nkf -g nkf -g ファイル名でも良いですが,nkfは遅いので,ファイルサイズが大きくなると処理に時間がかかります.アホみた…