🦔

envsubst の書き方が毎回わからなくなるので Rust で簡単&数倍高速なcli作ってみた

2023/01/10に公開

https://github.com/igtm/envbed

envsubst が使いづらいし毎回書き方忘れるのでもっと直感的なcli作ってみました

使い方

envbed -f target.txt -e .env -o out.txt

target.txt

Hello World ${USER}!

.env (省略すると環境変数を使う)

USER=igtm

out.txt (省略すると標準出力)

Hello World igtm!

インストール方法

sudo curl -sfL https://raw.githubusercontent.com/igtm/envbed/master/install.sh | sudo sh -s -- -b=/usr/local/bin

作った背景

envsubst だとリダイレクトを組み合わせる必要があったり、ファイル自分自身を上書いて編集したい時、 tee などの別コマンドを挟まないと出来ないとかでコレジャナイ感があったので作ってみました。今回は FxHashMap や unsafe などを使い文字列検索することで envsubst より数倍高速(※自分の環境)に出来ました。 CIでちょっとしたテンプレ処理などにお使いください

Discussion