O comando bash 'locate' pode gerar resultados / aliases numerados?

0

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
    
por zadrozny 23.04.2015 / 16:25

2 respostas

0

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 .

    
por 23.04.2015 / 17:46
0

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

    
por 23.04.2015 / 17:51

Tags