Remover caracteres de nomes de arquivos [RESOLVIDO]

1. Remover caracteres de nomes de arquivos [RESOLVIDO]

Rubens Leonardo de Oliveira Lima Torres
rubinhotorres

(usa Debian)

Enviado em 17/08/2020 - 12:00h

Bom dia,

Estou vindo aqui para saber se alguém poderia me ajudar numa questão.

Tenho vários arquivos em xml o qual quero retirar alguns números iniciais.
EX: "252001240649490001135700100000"46311346237864-cte
Esses números dentro das aspas são comum em todos e gostaria de saber como remover de todos os xmls que tenho?

Fico grato pela ajuda desde já.

Rubens Torres
#UsarioDebian_Iniciante rsrsrsrs


  


2. MELHOR RESPOSTA

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 17/08/2020 - 13:22h

O comando abaixo deverá resolver teu problema:

$ rename -n 's/^\".*\"//' *cte

Verifique a saída do comando acima e veja se ele está funcionando conforme o desejado, se sim, remova a opção -n:

$ rename 's/^\".*\"//' *cte

Fonte: https://www.vivaolinux.com.br/dica/O-comando-rename-na-pratica

3. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 17/08/2020 - 12:57h

Isso aí é parte do nome do arquivo ou fica dentro do xml?


4. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 17/08/2020 - 13:13h

Tente ser mais específico. O primeiro passo é identificar o padrão que você deseja remover. Qual é o padrão?

- X casas à esquerda?
- todos os números entre aspas?

Feito isso é moleza proceder com a tarefa usando o sed ou o comando rename por exemplo.


5. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Rubens Leonardo de Oliveira Lima Torres
rubinhotorres

(usa Debian)

Enviado em 17/08/2020 - 13:16h

Perdão não ter especificado melhor rsrsrsrs.

Esse é o nome do arquivo sendo que são vários com esse mesmo começo que está entre aspas. Aí quero ver como remover esse começo entre aspas de vários de um só vez.


6. Re: Remover caracteres de nomes de arquivos

Rubens Leonardo de Oliveira Lima Torres
rubinhotorres

(usa Debian)

Enviado em 18/08/2020 - 07:08h

fabio escreveu:

O comando abaixo deverá resolver teu problema:

$ rename -n 's/^\".*\"//' *cte

Verifique a saída do comando acima e veja se ele está funcionando conforme o desejado, se sim, remova a opção -n:

$ rename 's/^\".*\"//' *cte

Fonte: https://www.vivaolinux.com.br/dica/O-comando-rename-na-pratica


Bom dia a todos,

Consegui resolver Fabio eu acessei esse link que você deixou e foi fácil entender o que eu queria kkkkk nem eu mesmo tava sabendo direito rsrssrsrs.
Mas deixa eu explicar como foi!
Muito simples apenas entrei no diretório o qual estava os arquivos e executei comando [rename 's/252001240649490001135700100000/ /g' *xml

E pronto resolvido :)

Mas Fabio por gentileza se possível antes que eu encerre esse post me explica está sintax que você mencionou para eu utilizar seu que a parte de *cte vc acho que era a extensão do arquivo eu acho ou colocou so para exemplo. Mesmo assim fico grato

Vou deixar aqui en negrito a parte a qual eu fiquei sem entender como reorganizar na minha realidade ok.

rename -n 's/^\".*\"//' *cte


7. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 18/08/2020 - 14:23h



rename -n 's/^\".*\"//' *cte


-n = No action: print names of files to be renamed, but don't rename
Como a descrição diz, antes de renomear pra valer, use o -n para testar a expressão regular a fim de evitar alguma catástrofe.

s/ / / = substitua o que está entre o primeiro / / pelo que está entre o segundo par de / /, no caso:

^\".*\" = início da linha ^, aspas \" , tudo o que vem depois das aspas .* seguido por outra aspas \"

substitua o padrão acima por nada: //

*cte foi o padrão do final de arquivo que você citou na criação do tópico. Mas pelo visto é *xml.





8. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 18/08/2020 - 20:27h

rubinhotorres escreveu:

fabio escreveu:

O comando abaixo deverá resolver teu problema:

$ rename -n 's/^\".*\"//' *cte

Verifique a saída do comando acima e veja se ele está funcionando conforme o desejado, se sim, remova a opção -n:

$ rename 's/^\".*\"//' *cte

Fonte: https://www.vivaolinux.com.br/dica/O-comando-rename-na-pratica


Bom dia a todos,

Consegui resolver Fabio eu acessei esse link que você deixou e foi fácil entender o que eu queria kkkkk nem eu mesmo tava sabendo direito rsrssrsrs.
Mas deixa eu explicar como foi!
Muito simples apenas entrei no diretório o qual estava os arquivos e executei comando [rename 's/252001240649490001135700100000/ /g' *xml

E pronto resolvido :)

Mas Fabio por gentileza se possível antes que eu encerre esse post me explica está sintax que você mencionou para eu utilizar seu que a parte de *cte vc acho que era a extensão do arquivo eu acho ou colocou so para exemplo. Mesmo assim fico grato

Vou deixar aqui en negrito a parte a qual eu fiquei sem entender como reorganizar na minha realidade ok.

rename -n 's/^\".*\"//' *cte

Boa noite Rubinho,
Ao invés de "digitar os 30 número", pode usar:
rename 's/^.{30}//' *.xml
Ou
rename 's/^[0-9]{30}//' *.txt
Traduzindo:
Substitui "s" os 30 caracteres iniciais "/^" .{30}/ , por Nada
Substitui "s" os 30 Números iniciais "/^[0-9]{30}/ , por Nada

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


9. Re: Remover caracteres de nomes de arquivos [RESOLVIDO]

Rubens Leonardo de Oliveira Lima Torres
rubinhotorres

(usa Debian)

Enviado em 18/08/2020 - 20:35h

msoliver escreveu:

rubinhotorres escreveu:

fabio escreveu:

O comando abaixo deverá resolver teu problema:

$ rename -n 's/^\".*\"//' *cte

Verifique a saída do comando acima e veja se ele está funcionando conforme o desejado, se sim, remova a opção -n:

$ rename 's/^\".*\"//' *cte

Fonte: https://www.vivaolinux.com.br/dica/O-comando-rename-na-pratica


Bom dia a todos,

Consegui resolver Fabio eu acessei esse link que você deixou e foi fácil entender o que eu queria kkkkk nem eu mesmo tava sabendo direito rsrssrsrs.
Mas deixa eu explicar como foi!
Muito simples apenas entrei no diretório o qual estava os arquivos e executei comando [rename 's/252001240649490001135700100000/ /g' *xml

E pronto resolvido :)

Mas Fabio por gentileza se possível antes que eu encerre esse post me explica está sintax que você mencionou para eu utilizar seu que a parte de *cte vc acho que era a extensão do arquivo eu acho ou colocou so para exemplo. Mesmo assim fico grato

Vou deixar aqui en negrito a parte a qual eu fiquei sem entender como reorganizar na minha realidade ok.

rename -n 's/^\".*\"//' *cte

Boa noite Rubinho,
Ao invés de "digitar os 30 número", pode usar:
rename 's/^.{30}//' *.xml
Ou
rename 's/^[0-9]{30}//' *.txt
Traduzindo:
Substitui "s" os 30 caracteres iniciais "/^" .{30}/ , por Nada
Substitui "s" os 30 Números iniciais "/^[0-9]{30}/ , por Nada

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Show de bola Marcelo muito bom também, ja vou anotar aqui mais uma dica pra meus conhecimentos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts