: ) wonderful world ( :

the metasyntactic variable

Archive for the ‘zsh’ Category

command-line (positional) output selector

with 3 comments

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
$

 

Written by grault

October 27, 2011 - 2:19 pm at October 27, 2011 - 2:19 pm

superfast navigation in zsh

with 3 comments

$ 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
$

 

Written by grault

July 20, 2011 - 5:05 pm at July 20, 2011 - 5:05 pm

Posted in feature request, zsh

Follow

Get every new post delivered to your Inbox.