Copiando arquivos com caracteres especiais
Se você já se deparou com uma situação na qual fosse preciso copiar via CLI arquivos cujos nomes tivessem caracteres especiais, tais como: ª, º, §, etc... e por algum motivo, esses arquivos simplesmente não eram copiados! Como fazer agora?
Renomear "na unha" cada arquivo! (e se forem dezenas... ou centenas num compartilhamento!)
Alguns com certeza optam por essa opção. Mas você sendo esperto poderia usar a dupla "
ls +
find " para listar e copiar esses benditos arquivos pelos seus "inodes" (não sabe o que é inode! Pesquisa no
Google .) da seguinte forma:
1 - Liste os inodes dos arquivos:
ls -i
2 - Com o find copie-os para onde quiser:
find . -type f -inum INODE -exec cp -f {} /caminho/destino \;
Obs.: Os inodes são as sequências numéricas listadas à esquerda pelo 'ls -i'.
E se você quiser automatizar o processo, crie um shell script mais ou menos assim:
#!/bin/sh
#
set -e
inodes_list=`ls -i | awk '{print $1}' | tr '\n' ' '`
for i in $inodes_list; do
find . -type f -inum $i -exec cp -f {} /caminho/destino \;
done
exit $?
Pronto sem dor de cabeça e sem complicações! =)
Mais detalhes?
$ man ls
$ man find
Falou!!!
Previamente publicado em:
Outras dicas deste autor
Utilizando abas no Vim
Tocando CDs de áudio via cdda2wav
Encriptando e compactando arquivos com o zip
Renomeando arquivos simultaneamente com apenas uma linha de comando
ifconfig + sed - Mostrando seu endereço IP
Leitura recomendada
Pegando o seu ip no Linux
GNOME lento: uma experiência [Resolvido]
Flathub - Adicionando Repositório de Software no Fedora, CentOS e RedHat
Monitorando um comando com strace
WireShark: Acessar interface remota
Comentários
Maneiro SMarcell, você pode fazer assim também:
for i in`ls -i | awk '{print $1}' | tr '\n' ' '` ; do cp -fv "$i" /caminho/destino ; done ; sync
Costumo usar `comandos` no loop 'for', e sempre funciona, inclusive com o sed, cut, wc ...
abraços e favoritado
@SMarcell, você é o cara!
+ favoritos.
Mensagem
@SMarcell, você é o cara!
+ favoritos.
Favoritado! Excelente dica!
Mensagem
Favoritado! Excelente dica!
Opá, valeu pelo apoio galera! ;)
Mensagem
Opá, valeu pelo apoio galera! ;)
Tem com copiar diretórios dessa maneira também?
Mensagem
Tem com copiar diretórios dessa maneira também?
Contribuir com comentário
Enviar