Como remover o arquivo com falha com backspace em seu nome? [duplicado]

1

Desculpe se não estou usando os termos corretos para nomear esses "caracteres de retrocesso".

Eu gostaria de limpar um diretório que contém dois arquivos que parecem conter backspace em seu nome. Se eu listar o diretório:

ls -la

Eu entendo isso:

-rwxrwxrwx    1 guy guy        729 Jun 26 2007  z_regular.mk
-rwxrwxrwx    1 guy guy          1 Sep  7 2016
-rwxrwxrwx    1 guy guy       3220 Sep 27 2

Estou pensando que eu, por engano, imputei os nomes dos arquivos com "backspace chars", então não vemos mais os nomes.

Como renomeio esses dois últimos arquivos?

Eu não sei como chamá-los. Existe uma opção ls me permitindo exibir os nomes dos arquivos em hexa ou algo assim, e como eu poderia usar o mais recente em um comando mv ? Estou com o AIX Unix TLS v6.

editar:

os arquivos são respectivamente 2 e 4 del chars:

ls -lb

-rwxrwxrwx    1 guy guy          1 Sep  7 2016   77
-rwxrwxrwx    1 guy guy       3220 Sep 27 2      77777

Mas as soluções encontradas em Como posso excluir um arquivo sem nome não funciona no meu caso no AIX.

Eu tentei o abaixo sem sucesso até agora:

l>ls -l $'7777'
$7777 not found
l>ls -l '7777'
7777 not found
l>ls -l '77'
77 not found
    
por J. Chomel 07.08.2017 / 10:09

2 respostas

4

A sintaxe $'\ooo' (de ksh93 e agora encontrada na maioria dos shells semelhantes a Bourne incluindo zsh , bash , mksh , FreeBSD sh ) usa o padrão ( como em C e na maioria das outras linguagens) em oposição a echo syntax para escapes octal. Então, isso é \ seguido por até 3 dígitos octal: $'7' . $'77' seria como $'7'7 . Então:

ls -ld $'77'
mv $'77' better-name

(observe que 7 , também conhecido como ^? ou DEL caractere em ASCII, não é o caractere Backspace / ^H / BS / )

    
por 07.08.2017 / 10:44
0

Encontrei a solução na parte inferior da duplicata sugerida:

  1. identifique os números dos nós

    ls -lbi
    
    25553  -rwxrwxrwx    1 guy guy          1 Sep  7 2016   77
    25559  -rwxrwxrwx    1 guy guy       3220 Sep 27 2      77777
    
  2. é possível mover quando retornado de find :

    find . -inum 25553  |xargs -I{} mv {} recovered.x
    find . -inum 25559  |xargs -I{} mv {} recovered.y
    
por 07.08.2017 / 10:26