Com alguns truques:
set $(locate text.txt)
i=1 ; while [ "$1" ] ; do echo "\$$i $1" ; i=$(( i + 1 )) ; shift ; done
Então você pode fazer vi $1
.
Eu quero evitar ter que digitar ou copiar e colar um caminho completo.
Idealmente, gostaria de ver e poder fazer algo assim:
$locate test.txt
1 /dir1/test.txt
2 /dir2/test.txt
$ vi !1
Com alguns truques:
set $(locate text.txt)
i=1 ; while [ "$1" ] ; do echo "\$$i $1" ; i=$(( i + 1 )) ; shift ; done
Então você pode fazer vi $1
.
Você pode escrever diretamente
vi $(locate Test | head -n 1)
ou você pode criar uma função bash que você pode chamar, por exemplo p test.txt 3
para que a terceira linha seja encontrada em locate
p(){ vi $(locate $1 | head -n ${2:-1} | tail -1 ); }
Se você gosta da função, pode colocá-la no arquivo ~/.bashrc
ou ~/.bash_aliases
...
Tags bash