Alterando diretórios no shell Bash com nomes de arquivos grandes

0

Eu tenho que navegar por uma série de diretórios contendo instaladores de software. Eu escrevi uma pequena função bash que me leva à pasta principal que contém todas as compilações, mas os nomes dos arquivos dos subdiretórios são ridiculamente longos.

A pasta principal é chamada de "release" e contém diretórios com nomes como "Build 10 - 0.0.3580 - ecb871131857710a". Eu li o livro de William Shotts Jr. "A Linha de Comando Linux: Uma Introdução Completa" e foi muito bom e completo, mas realmente não me deu nenhuma visão sobre como resolver esse problema e meus colegas de trabalho parecem não saber de uma maneira mais simples também.

Alguém pode me dar alguma sugestão ou métodos gerais que eu possa pesquisar para ajudar a resolver esse problema? Eu não estou procurando um script ou alguém para me dar a resposta completa, mas um pequeno empurrão na direção certa seria muito apreciado.

    
por Sandwich Heat 05.04.2013 / 00:58

2 respostas

0

Eu iluminei um cara na escola no ano passado, introduzindo-o à excelência da conclusão do bash enquanto ele estava relutantemente explorando a superioridade da versão de linha de comando do Mercurial em oposição ao TortoiseHG, por minha insistência. A conversa:

Me: Type cd ~

Him: Yes?

Me: Now tab

Him: And?

Me: slash and tab again.

Him: Oh shitt!

Me: Enter. Pretty nifty, yes? Now type the three first letters of the folder where you saved the files.

Him: Ok?

Me: tab

Him: Oh wow! this is really useful!

Me: The powers of command line...

Him: cd Sch[tab][enter] cd Proj[tab][enter] cd s[tab][tab][tab]

Him: It doesn't work

Me: It's case sensitive. Small letters are not the same as big ones. Type Sourc[tab]

Him: Oh. [tab][enter][tab][enter]

Me: No, stop that, you can complete the whole paths, not just individual folders.

Him: Oh shittt! This is so cool!

Me: Next I'll show you how to look for files with locate.

Eu provavelmente mudei toda a sua vida e virei a visão do mundo dele de cabeça para baixo!

    
por 06.04.2013 / 02:30
1

O Linux normalmente possui os seguintes limites:

  #define NAME_MAX         255    /* # chars in a file name */
  #define PATH_MAX        4096    /* # chars in a path name including nul */

Se seus nomes de caminhos "ridiculamente longos" forem mais curtos do que isso, você não deve ter problemas.

Noto que seus nomes contêm espaços, por isso, certifique-se de sempre citar suas variáveis.

    
por 05.04.2013 / 01:02