recorte e cole o nome do arquivo com espaços em um comando

1

quando digito ls ou locate como saída, recebo " a file.txt " (há um espaço entre "a" e "file.txt".

Eu destaquei com um mouse e colei com um botão do meio.

agora eu tenho que colocar \ after "a" para que " a file.txt " possa ser lido em um comando como " ls a\ file.txt " agora se o nome do arquivo for um nome de algum livro que tenha muitos espaços Leva tempo para modificar o nome. Existe uma maneira de fazer isso rápido?

    
por kirill_igum 23.09.2011 / 04:59

3 respostas

4

Você pode preceder uma cotação antes de colá-la e depois fechá-la. Então você começaria seu comando

ls "

Em seguida, cole seu texto

ls "a file.txt

Em seguida, feche a cotação e pressione Enter

ls "a file.txt"

em vez de

ls a\ file.txt

Você não precisa escapar de todos os espaços se citar a string.

Nota: Você também pode usar aspas simples e isso evitará a expansão das variáveis se você obtiver algo como um arquivo chamado $ test

ls '$test'

não seria o mesmo que

ls "$test"

Com uma variável vazia, o segundo exemplo listará o diretório atual, não apenas o arquivo $ test

    
por 23.09.2011 / 05:05
0

A barra invertida é usada como um caractere de escape para o shell para tratar o espaço que vem depois literalmente. Tente substituir os espaços por sublinhados ou traços.

    
por 23.09.2011 / 05:07
0

Alguns emuladores de terminal (por exemplo, Terminal Mac OS X) têm um comando para colar texto com cotação. No Terminal, é Editar > Colar Texto Escapado ; Ele insere barras invertidas antes de caracteres especiais. Seu programa de terminal pode ter um comando similar.

    
por 26.09.2011 / 15:40