seleciona um arquivo sob um diretório? [fechadas]

0

No bash, ao estar sob um diretório, como podemos selecionar um arquivo ou subdiretório sem realmente digitar seu nome ou mesmo parte de seu nome?

Existe uma maneira de enumerar ou alternar os arquivos ou subdiretórios, por exemplo, como podemos usar o TAB para alternar entre várias coisas em uma página da Web?

Depende do aplicativo abrir o arquivo ou o subdiretório?

Se sim,

  • como podemos selecionar um subdiretório entre vários subdiretórios para cd ?

  • como podemos selecionar um arquivo pdf a partir de vários arquivos pdf para evince ?

Por exemplo,

$ ls .
  subdir1 subdir2
$ cd 

Podemos escolher subdir2 para cd , sem digitar subdir2 ou qualquer parte dele? Idealmente, será bom usar a tecla Tab para selecionar e alternar entre subdir1 e subdir2 , para que possamos parar em subdir2 e então pressionar Retornar . / p>     

por Tim 21.11.2014 / 02:05

2 respostas

4

Definir

bind TAB:menu-complete

e, em seguida, execute evince TAB . Pressione TAB várias vezes para passar por arquivos diferentes.

    
por 21.11.2014 / 02:25
1

Os arquivos podem ser enumerados com

for file in .* * do;
  # if targeted at files:
  test -f "$file" || continue
  # if targeted at directories:
  test -d "$file" || continue
  # in both cases arises the question: What about symlinks?
done

ou (para economizar tempo para classificação) com

ls --quoting-style=escape | while IFS= read file; do...
  : check type like above
done

find . -type f -maxdepth 1 -printf %f\n | while IFS= read -r file; do...

find . -type d -maxdepth 1 -printf %f\n | while IFS= read -r file; do...

(O find variant não manipula nomes de arquivos estranhos.)

    
por 21.11.2014 / 02:14

Tags