sedコマンド備忘録
sedを使ったメモ。 前提 GNU sed 4.9 GNU版sedをMac + home-managerで導入する nixpkgsだとgnusedから導入可能。ただMacに標準で入っているBSD版sedと被る & PATHの順序を変える方法がわからないので、別名でsedが実行できるようにしてaliasを作る。 詳細は Nixで既存パッケージのバイナリ名を別名に変える方法 を参照。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { pkgs, ... }: { home.packages = with pkgs; [ (runCommand "my-gnused" {} '' mkdir -p $out/bin ln -s ${pkgs.gnused}/bin/sed $out/bin/gnused '') ]; programs.zsh = { shellAliases = { sed = "gnused"; }; }; } 1 2 3 4 5 6 7 8 9 bombrary@bombrary-macbookair:~/dotfiles% sed Usage: gnused [OPTION]... {script-only-if-no-other-script} [input-file]... -n, --quiet, --silent suppress automatic printing of pattern space --debug annotate program execution -e script, --expression=script add the script to the commands to be executed BSD版とGNU版の違い あまり詳しいことは知らないが微妙に違う。 ...