tcsh alias - encontre a porta do FreeBSD

2

Estou tentando criar um alias para tcsh . Eu gostaria de encontrar um programa em portas (portas do FreeBSD).

Até agora criei um alias, que funciona, mas encontra apenas portas que terminam em *port_name . Eu gostaria que ele pesquisasse por *port_name* . Você pode dizer por que meu exemplo não funciona?

alias najdi 'echo /usr/ports/*/*\!:1* | sed -e "y/ /\n/"'

.

najdi port_name
finds: *port_name
expected: *port_name*

SOLUÇÃO: Eu mudei para isso: (também é case in-sensitive)

alias portfind 'cd /usr/ports && make quicksearch name=\!:1 | grep Path'
    
por Martin 27.01.2013 / 12:26

1 resposta

1

Em tcsh, a expansão !:1* é equivalente a !:1-$

Para alcançar o que você deseja, é necessário fazer isso:

alias najdi 'echo /usr/ports/*/*\!:1-1* | sed -e "y/ /\n/"'

Pessoalmente, prefiro usar find em vez de expansão de shell:

alias najdi 'find /usr/ports -type d -maxdepth 2 -name \*\!:1-1\* -print'
    
por 05.02.2013 / 00:32