Infelizmente, você não pode. A coisa mais próxima que você pode fazer é, se o identificador estiver no início do nome do arquivo, pressione Tab para Bash autocomplete. Infelizmente, isso não funcionará se o identificador estiver no meio ou no final do nome do arquivo. Nesse caso, recomendo usar o zsh, o que permite isso.
O cd ls | grep identifier
não funcionou por dois motivos: primeiro, você estava tentando mudar para um diretório chamado ls
e depois canalizar o stdout (que está vazio) para o grep procurando por "identificador". Isso seria corrigido se você usasse uma sub-rede como alternativa sugerida por cd $(ls | grep identifier)
. Mas isso tem outro problema, ls saída está em colunas e grep trabalha por linhas. Então, se eu, por exemplo, tentar "sites" grep na seguinte saída:
➜ ls
autoreviewcomments.user.js build.sh build.xml README.md src
build.properties build.sites dist SDK
➜ ls | grep sites
build.properties build.sites dist SDK
ou em alguns casos a cor estará no caminho de cd
, então você deve especificar "sem coloração":
cd $(ls | grep --no-color sites)