Como posso entrar e também renomear pastas como ''Human (2012)''?

Como posso entrar e também renomear pastas como ''Human (2012)''?

Estou brincando com FTP através da linha de comando e tenho dois problemas. Não consigo renomear ou inserir pastas como:

dir /home/folder1/Human (2012)

Tentei:

cd ~/folder1/Human\ (2012)

Aqui recebo uma mensagem que the folder does not exist.

mv ~/folder1/Human\ (2012)

Nesse caso, recebo uma mensagem que diz:

syntaxfailure at (

Como posso resolver esse problema?

Responder1

Você poderia citar duas vezes seu caminho:

cd ~/"folder1/Human (2012)"

ou você deve fornecer uma sequência de escape para (e )( espaço) (já que são caracteres especiais):

cd ~/folder1/Human\ \(2012\)

e

mv ~/"folder1/Human (2012)"

Com sequência de escape:

mv ~/folder1/Human\ \(2012\)

Responder2

Você tem a ideia certa com o \antes do espaço. Isso se aplica a todos os caracteres especiais – incluindo parênteses. Coloque uma barra invertida antes do parêntese aberto e outra barra invertida antes do parêntese fechado e funcionará.

O preenchimento com tabulação é útil nesses casos... se você começar a digitar o nome do arquivo e pressionar Tab, o restante do nome do arquivo será preenchido automaticamente, inserindo barras invertidas quando necessário. (Se você não digitou o nome do arquivo o suficiente para deixar claro qual arquivo você quer dizer, o bash ainda preencherá automaticamente o máximo possível do nome do arquivo. Pressionar tab duas vezes mostrará uma lista de possíveis conclusões do nome do arquivo.)

Responder3

Concordo com o snoop que a maneira de fazer isso é usar "marcas ao especificar um arquivo ou diretório.

No entanto, se houver vários diretórios que precisam ser renomeados, você poderá renamerenomeá-los para nomes mais amigáveis. Renomear funciona de maneira semelhante, sedexceto renamerenomear arquivos e diretórios, embora sedgeralmente seja usado para editar o conteúdo dos arquivos. Aqui está um exemplo:

rename 's/ //g;s/\(//g;s/\)//g' ~/folder1/*

Então, se você tivesse os seguintes diretórios localizados em ~/folder1:

Human (2012)
Human (2011)
Human (2010)

eles serão renomeados para isto:

Human2012
Human2011
Human2010

Execute o seguinte comando para obter mais informações:

man rename

informação relacionada