Exa to Eza

2020年にexaをインストールして から、3年半弱lsの代わりとしてexaを使用してきました。 設定としては以下のような感じで、exaに何やらオプションを足した奴をlsのエイリアスとして、追加でll、la、llaを設定している感じです: 1 2 3 4 alias ls="exa -Fgh --git --time-style=long-iso" alias la="ls -a" alias ll="ls -l" alias lla="ls -la" で、不定期でやってるローカルのツール更新というか、brew update && brew outdatedをしたところ、exaのバージョンが(なんかよく分からない感じで)上がっていたので更新内容をチェックしに行ったところ、exa is unmaintained, please use the active fork eza instead というコミットが打たれていて、eza を見に行ったら実際活発に開発されていて、7月末からすでに10回のリリースが行われているようでした。 個人的にはexaで困ってはいなかったモノの、2年以上リリースが打たれていないのも事実ですし、ezaのリリースノートを見る限りセキュリティフィックスなどもあるようなので、置き換えをしました。 手順 brew install eza sed -ie 's/exa/eza/' .zshrc brew uninstall exa 今のところ特に使用感は変わった感じはしないですが、一つだけ気づいたのはsymlinkのサイズ表示が変わった くらいですかね。

2023-09-18 · nasa9084

二つのファイルの共通行(または共通しない行)を得る

例えば、サービスAでは登録されているけれどもサービスBには登録されていないユーザの一覧を得たい、という様な場合。もちろんdiffでよしなにやることもできますが、commも便利です。 例えば次の様にリストがあるとします。 サービスAのユーザーリスト(users_a.txt): 1 2 3 4 5 alice bob charlie dave oscar サービスBのユーザーリスト(users_b.txt): 1 2 3 4 5 charlie isaac justin mallory oscar これらに対してcommを使うと次の出力が得られます: 1 2 3 4 5 6 7 8 9 $ comm users_a.txt users_b.txt alice bob charlie dave isaac justin mallory oscar TABで揃えられた列がそれぞれ左から、Aにだけ存在する行、Bにだけ存在する行、Cにだけ存在する行、となっています。これだけだと別にそれほど便利ではないんですが、commはそれぞれの行を非表示にする事もできます。それぞれ、非表示にしたい行を-1 -2 -3で指定します。 Aだけに存在する行を表示する: 1 2 3 4 $ comm -23 users_a.txt users_b.txt alice bob dave 両方に存在する行を表示する: 1 2 3 $ comm -12 users_a.txt users_b....

2022-09-28 · nasa9084

rustで書かれたlsの代替コマンドexaをインストールしてみた

twitterでおのかちお氏(鍵垢なのでここでは紹介できないが)がexa というlsの代替コマンドを試してみている、ということでスクショをアップしており、これがなかなか良さそうであったので、探してインストールしてみました。 website の説明によると、 A modern replacement for ls. トのことで、色をつけれたり、早かったり、tree viewができたり、Gitのステータスを表示できたりするらしい。 macの場合、homebrew でインストールできるようなので早速インストールしてみます。 1 $ brew install exa very easyですね。使ってみましょう。 なるほど、デフォルトの表示はlsと同じくgrid viewなんですね。ホームにディレクトリしかないのでわかりにくいですけど、字が太いですね。あとklaussinani/hyper-pokemon を使っている都合で、色は表示されません・・・ アイコン付きで表示してみましょう。アイコンを表示したい場合は--iconsオプションをつければ良い、とのこと。 おや、表示されないですね。これは困った。まぁこの手の問題は(見た目から言っても)フォントがインストールされてないために発生しているのだろう、とあたりをつけつつ、issueを検索します。 するとどうやら nerd fonts というフォントがアイコン表示用に使用されているようです。これをインストールしてみます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ brew tap homebrew/cask-fonts ==> Tapping homebrew/cask-fonts Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-fonts'... remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19/19), done. remote: Compressing objects: 100% (14/14), done....

2020-05-20 · nasa9084

cut vs. parameter expansion

TL;DR:: bash/zsh parameter expansion is faster than cut. which is faster? Consider you want to take out hostname from URL or IP with port like some.mysql.server:3306 or 192.168.1.10:3306 using bash/zsh. There are some way to do this. The first way is using cut command: 1 2 $ TARGET="192.168.1.10:3306" $ echo ${TARGET} | cut -d ":" -f 1 Now printed 192.168.1.10 on your screen. The second way is using “shell parameter expansion”, which is functions of bash/zsh built-in....

2018-02-26 · nasa9084