Archive for the ‘zsh’ Category
command-line (positional) output selector
Sometimes it happens that I work with IDs from entity identifier lists. They have very long ids, there are many of them, but it’s possible to hash them easily with grep resulting a set of cca. 20 from which I can choose visually the one I’m really interested in, although don’t want to type the whole ID for the grep. I used to copy the particular identifier to the clipboard and paste it to the next command line. With this solution below I can explore these sets and work with them without copy-paste (which frequently involved touching the mouse and moving hands away from the keyboard).
$ cat num #!/bin/zsh cat $* | nl -w 3 -n rz $ cat sel #!/bin/zsh cat | grep "^0*$1" | cut -f2- $ demo-query | grep QUX FOO9583749857_BAR_HIOSD57389FJ_QUX__FSKLD FOO9583749857_BAZ9785JFKR_QUX__FSKLD FOO9583749857_QUX__FSKLD_BAR_HIOSD57389FJ FOO9583749857_QUX__FSKLD_BAZ9785JFKR BAR_HIOSD57389FJ_FOO9583749857_QUX__FSKLD BAR_HIOSD57389FJ_BAZ9785JFKR_QUX__FSKLD BAR_HIOSD57389FJ_QUX__FSKLD_FOO9583749857 BAR_HIOSD57389FJ_QUX__FSKLD_BAZ9785JFKR BAZ9785JFKR_FOO9583749857_QUX__FSKLD BAZ9785JFKR_BAR_HIOSD57389FJ_QUX__FSKLD BAZ9785JFKR_QUX__FSKLD_FOO9583749857 BAZ9785JFKR_QUX__FSKLD_BAR_HIOSD57389FJ QUX__FSKLD_FOO9583749857_BAR_HIOSD57389FJ QUX__FSKLD_FOO9583749857_BAZ9785JFKR QUX__FSKLD_BAR_HIOSD57389FJ_FOO9583749857 QUX__FSKLD_BAR_HIOSD57389FJ_BAZ9785JFKR QUX__FSKLD_BAZ9785JFKR_FOO9583749857 QUX__FSKLD_BAZ9785JFKR_BAR_HIOSD57389FJ $ demo-query | grep QUX | num 001 FOO9583749857_BAR_HIOSD57389FJ_QUX__FSKLD 002 FOO9583749857_BAZ9785JFKR_QUX__FSKLD 003 FOO9583749857_QUX__FSKLD_BAR_HIOSD57389FJ 004 FOO9583749857_QUX__FSKLD_BAZ9785JFKR 005 BAR_HIOSD57389FJ_FOO9583749857_QUX__FSKLD 006 BAR_HIOSD57389FJ_BAZ9785JFKR_QUX__FSKLD 007 BAR_HIOSD57389FJ_QUX__FSKLD_FOO9583749857 008 BAR_HIOSD57389FJ_QUX__FSKLD_BAZ9785JFKR 009 BAZ9785JFKR_FOO9583749857_QUX__FSKLD 010 BAZ9785JFKR_BAR_HIOSD57389FJ_QUX__FSKLD 011 BAZ9785JFKR_QUX__FSKLD_FOO9583749857 012 BAZ9785JFKR_QUX__FSKLD_BAR_HIOSD57389FJ 013 QUX__FSKLD_FOO9583749857_BAR_HIOSD57389FJ 014 QUX__FSKLD_FOO9583749857_BAZ9785JFKR 015 QUX__FSKLD_BAR_HIOSD57389FJ_FOO9583749857 016 QUX__FSKLD_BAR_HIOSD57389FJ_BAZ9785JFKR 017 QUX__FSKLD_BAZ9785JFKR_FOO9583749857 018 QUX__FSKLD_BAZ9785JFKR_BAR_HIOSD57389FJ $ demo-query | grep QUX | num | sel 12 BAZ9785JFKR_QUX__FSKLD_BAR_HIOSD57389FJ $ demo-query | grep QUX | num | sel 12 | xargs find . -name ./AB/BAZ9785JFKR_QUX__FSKLD_BAR_HIOSD57389FJ ./EG/UI/BAZ9785JFKR_QUX__FSKLD_BAR_HIOSD57389FJ $
superfast navigation in zsh
$ tail -3 ~/.zlogin setopt AUTO_CD setopt CD_ABLE_VARS export proj1=$HOME/some/really/long/path/you/work/in/frequently $ pwd /home/grault $ proj1 ~proj1 $ pwd /home/grault/some/really/long/path/you/work/in/frequently $ ../less/frequently $ pwd /home/grault/some/really/long/path/you/work/in/less/frequently $ cd $ pwd /home/grault $ pushd proj1 ~proj1 ~ $ pwd /home/grault/some/really/long/path/you/work/in/frequently $